如何通知共享操作已完成

时间:2014-10-30 15:23:12

标签: c# windows-8

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

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

但这两个事件处理程序永远不会被触发。是否有正确的方法可以找出用户已完成共享内容(共享操作完成后,超级按钮栏已折叠)

1 个答案:

答案 0 :(得分:0)

到目前为止,唯一的解决方案(一个hacky)是注册到页面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;
    }