zoukankan      html  css  js  c++  java
  • UWP数据分享

    前言

    本文介绍如何在通用Windows平台(UWP)应用程序中支持共享合同。共享合同是一种在应用程序之间快速共享数据(如文本,链接,照片和视频)的简便方法。例如,用户可能想要使用社交网络应用与他们的朋友共享网页,或者在笔记应用中保存链接以便稍后参考。

    设置事件处理程序:

    (1)添加DataRequested事件处理程序,以便在用户调用共享时调用。当用户点击您的应用中的控件(例如按钮或应用栏命令)或在特定场景中自动(例如,如果用户完成关卡并获得高分)时,就会发生这种情况。

    DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
    dataTransferManager.DataRequested += DataTransferManager_DataRequested;
    

    (2)当DataRequested事件发生时,您的应用程序收到DataRequest对象。它包含一个DataPackage,您可以使用它来提供用户想要共享的内容。您必须提供要分享的标题和数据。描述是可选的,但建议使用。

    DataRequest request = args.Request;
    

    选择数据:

    DataPackage对象可以包含这些格式的一个或多个,以任何组合。

    1. Plain text 纯文本
    2. Uniform Resource Identifiers (URIs) 统一资源标识符(URI)
    3. HTML
    4. Formatted text 格式化文本
    5. Bitmaps 位图
    6. Files 文件
    7. Custom developer-defined data 自定义开发人员定义的数据

    设置属性:

    打包数据以进行共享时,您可以提供各种属性,以提供有关正在共享的内容的其他信息。这些属性可帮助目标应用改善用户体验。例如,当用户与多个应用程序共享内容时,描述会有所帮助。在共享图像或指向网页的链接时添加缩略图可为用户提供可视参考。有关更多信息,请参阅DataPackagePropertySet。
    除标题外的所有属性都是可选的。title属性是必需的,必须设置。

    request.Data.Properties.Title = "Share Example";
    request.Data.Properties.Description = "A demonstration on how to share";
    

    启动共享UI

    系统提供用于共享的UI。要启动它,请调用ShowShareUI方法。

    DataTransferManager.ShowShareUI();
    

    示例代码

    在MainPage.xaml中添加一个按钮并设置相应事件

     <Button Name="Mybutton"
            Content="share"
            FontSize="64"
            Click="Mybutton_OnClick"></Button>
    

    在MainPage.xaml.cs文件中添加代码

     public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            //使ShareRequested函数在共享操作时发生
            DataTransferManager.GetForCurrentView().DataRequested += ShareRequested;
        }
    
        private void Mybutton_OnClick(object sender, RoutedEventArgs e)
        {
            DataTransferManager.ShowShareUI();
        }
        private void ShareRequested(DataTransferManager sender, DataRequestedEventArgs args)
        {
            var deferral = args.Request.GetDeferral();
            DataRequest request = args.Request;
            request.Data.Properties.Title = "ShareUISample";
            request.Data.SetText("Description:" + "This is a line from ShareUISample. Welcome to learn UWP.");
            //flash.jpg是示例代码中Asssets文件夹中的图片,可以将其改为你自己的图片
            request.Data.SetBitmap(RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/flash.jpg")));
            deferral.Complete();
        }
    

    点击share


    >共享图片成功 ![](https://img2018.cnblogs.com/blog/1525608/201903/1525608-20190323135712836-682939010.png)
  • 相关阅读:
    趣味网站、趣味应用
    趣味网站、趣味应用
    论文写作的句型
    Python Tricks(二十一)—— 排列组合的计算
    Python Tricks(二十一)—— 排列组合的计算
    辨异 —— 有两人生日在同一天、只有两人生日在同一天
    辨异 —— 有两人生日在同一天、只有两人生日在同一天
    品味电影
    品味电影
    HDU 4414 Finding crosses (DFS + BFS)
  • 原文地址:https://www.cnblogs.com/gzyc/p/10583714.html
Copyright © 2011-2022 走看看