在Windows Phone的8.1 ​​C#分享两回事 [英] Share two different things in Windows Phone 8.1 C#

查看:157
本文介绍了在Windows Phone的8.1 ​​C#分享两回事的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要对两个seperat按钮点击分享两个单独的图像。到现在为止我已经使用这个代码

I want to share two seperate images on two seperat button clicks. Until now I have used this code

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();

        }

这非常适用于一个按钮水龙头,但如何为办分享另一个图像(说pic1.jpg)

This works well for one button tap but how to do for sharing another image (say pic1.jpg)

推荐答案

您可以定义包含图像的名称的页面的私有成员为共享
,并设置每个按钮上点击这个名字。例如:

You can define a private member of the page which contains the name of the image to be shared and set this name on each button click. Example:

  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(),而不是硬编码的文件的名称,使用从私有成员

and in DataRequested() instead of hardcoding the name of the file, use the name from the private member

这篇关于在Windows Phone的8.1 ​​C#分享两回事的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆