【问题标题】:How to get notified that the share operation has completed如何获得共享操作已完成的通知
【发布时间】:2014-10-31 00:14:40
【问题描述】:

我正在构建一个 Windows 8 应用程序。我正在使用共享魅力让用户共享数据。我想收到用户完成共享操作的通知。我试过了

    private static void ShareTextHandler(DataTransferManager sender, DataRequestedEventArgs e)
    {
      ..........
        request.Data.OperationCompleted += Data_OperationCompleted;
        request.Data.Destroyed += Data_Destroyed;
      ..........
    }

但是这两个事件处理程序永远不会被触发。是否有正确的方法来找出用户是否已完成分享内容(分享操作完成后魅力栏已折叠)

【问题讨论】:

    标签: c# windows-8


    【解决方案1】:

    到目前为止,唯一的解决方案(一个骇人听闻的解决方案)是注册到页面 GotFocus 事件并拥有一个表示共享操作已开始的标志。 gotfocus 事件处理程序

        void ListViewPage_GotFocus(object sender, RoutedEventArgs e)
        {
            if (App.startedSharing)
                App.UnRegisterForShare();
        }
    

    这就是为什么我想知道共享已经结束,所以我可以像这样取消注册 DataRequested 处理程序

        public static void UnRegisterForShare()
        {
            startedSharing = false;
            DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
            dataTransferManager.DataRequested -= ShareTextHandler;
        }
    

    【讨论】:

    • 您有没有找到更好的解决方案?
    • 不.. 到目前为止,这是我找到的唯一解决方案
    • 好的,谢谢。就我而言,我需要了解是否在分享魅力中进行了分享(尤其是电子邮件),但我找不到任何解决方案。
    猜你喜欢
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多