Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows Phone 8.1 C中共享两种不同的内容#_C#_Windows Phone 8.1 - Fatal编程技术网

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();'仅显示一个(第一个)如何为第二个执行此操作。(这意味着,在两次不同的按钮点击中应共享两个不同的图像)