'OperationCompleted'操作后未引发'Paste'事件



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

操作

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

不是。

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

代码

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

请参阅文档的Remarks部分。

当用户或程序粘贴剪贴板中的内容时,会发生此事件。如果你的应用使用数据包进行共享操作,则不必处理此事件。

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

我使用官方剪贴板代码示例进行测试。

在这一行中,我添加了以下代码:

dataPackageView.ReportOperationCompleted(DataPackageOperation.Copy);

之后,将触发数据包的 OperationCompleted 事件。

最新更新