'粘贴'操作后未启动'OperationCompleted'事件

时间:2018-04-30 12:08:19

标签: c# uwp windows-store-apps win-universal-app

OperationCompleted事件应该在剪贴板粘贴操作结束时引发,如DataPackage中所述:

  

OperationCompleted在粘贴操作完成时发生。

不是。

为什么呢? /什么是解决方法?

代码

static void CopyToClipboard(string s)
{
    DataPackage dataPackage = new DataPackage();
    dataPackage.SetText(s);
    dataPackage.OperationCompleted += DataPackage_OperationCompleted1;
    Clipboard.SetContent(dataPackage);
}
static void DataPackage_OperationCompleted1(DataPackage sender, OperationCompletedEventArgs args)
{
    throw new NotImplementedException();
}

1 个答案:

答案 0 :(得分:0)

请参阅document上的Remarks部分。

  

当用户或程序粘贴剪贴板中的内容时,会发生此事件。如果您的应用使用DataPackage进行共享操作,则无需处理此事件。

然后,在您的粘贴处理程序方法中,您需要使用dataPackageView.ReportOperationCompleted()方法通知系统您的应用程序已使用DataPackageView对象完成。

我使用官方Clipboard代码示例进行测试。

在此line中,我添加了以下代码:

dataPackageView.ReportOperationCompleted(DataPackageOperation.Copy);

之后,将触发DataPackage的OperationCompleted事件。