C# 在Windows Phone 8.1 C中共享两种不同的内容#
我想在两次单独的按钮点击上共享两个单独的图像。到目前为止,我一直使用这个代码C# 在Windows Phone 8.1 C中共享两种不同的内容#,c#,windows-phone-8.1,C#,Windows Phone 8.1,我想在两次单独的按钮点击上共享两个单独的图像。到目前为止,我一直使用这个代码 protected override void OnNavigatedTo(NavigationEventArgs e) { //showPuzzle(); DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView(); dataT
protected override void OnNavigatedTo(NavigationEventArgs e)
{
//showPuzzle();
DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this.DataRequested);
}
private async void DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
DataRequest request = args.Request;
request.Data.Properties.Title = "c this";
request.Data.Properties.ApplicationName = "";
DataRequestDeferral deferral = request.GetDeferral();
// Make sure we always call Complete on the deferral.
try
{
StorageFile imagefile = await KnownFolders.PicturesLibrary.GetFileAsync("pic.jpg");
List<IStorageItem> storageItems = new List<IStorageItem>();
storageItems.Add(imagefile);
request.Data.SetStorageItems(storageItems);
}
finally
{
deferral.Complete();
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI();
}
受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e)
{
//showPuzzle();
DataTransferManager DataTransferManager=DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested+=新类型DevenHandler(this.DataRequested);
}
专用异步无效数据请求(DataTransferManager发送方,DataRequestedEventArgs args)
{
DataRequest=args.request;
request.Data.Properties.Title=“c this”;
request.Data.Properties.ApplicationName=“”;
DataRequestDeleral deleral=request.getDeleral();
//确保我们总是要求完成延期。
尝试
{
StorageFile imagefile=await KnownFolders.PicturesLibrary.GetFileAsync(“pic.jpg”);
List storageItems=新列表();
添加(图像文件);
请求.数据.设置存储项(存储项);
}
最后
{
延迟。完成();
}
}
私有无效按钮\u单击(对象发送者,路由目标e)
{
Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI();
}
只需点击一个按钮就可以了,但是如何共享另一个图像(比如pic1.jpg)您可以定义包含要共享图像名称的页面的私有成员 并在每次单击按钮时设置此名称。例如:
private string imageName = "pic.jpg";
private void Button_Click(object sender, RoutedEventArgs e)
{
imageName = "pic.jpg";
Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI();
}
private void Button1_Click(object sender, RoutedEventArgs e)
{
imageName = "pic1.jpg";
Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI();
}
在DataRequested()中,不要硬编码文件名,而是使用私人成员的名称你想问什么(至少对我来说)还不清楚。@BobbyAlexander说,例如,我想在点击按钮(命名按钮)时共享一张图像(名为pic.jpg),我可以使用上面的代码,同时,我需要在另一个按钮(名为Button1)上共享另一个图像(名为pic1.jpg)。但是'Windows.ApplicationModel.DataTransfer.DataTransferManager.ShowShareUI();'仅显示一个(第一个)如何为第二个执行此操作。(这意味着,在两次不同的按钮点击中应共享两个不同的图像)