在我的UWP应用程序中,当我尝试在Clipboard
中设置内容时,出现以下异常。
目标SDK版本:Windows 10 SDK 1903版本
System.Exception:远程过程调用失败。 (来自的例外 HRESULT:0x800706BE)位于 Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(DataPackage 内容)
public static void CopyTextToClipboard(string textToCopy)
{
if (!string.IsNullOrEmpty(textToCopy))
{
var dataPackage = new DataPackage();
dataPackage.RequestedOperation = DataPackageOperation.Copy;
dataPackage.SetText(textToCopy.Trim().Replace(" ", string.Empty));
Clipboard.SetContent(dataPackage);
}
}
答案 0 :(得分:0)
Clipboard.SetContent
必须从UI线程中调用。如果要从其他线程执行此代码,则必须将Clipboard
调用包装在Dispatcher.RunAsync
中:
await CoreApplication.MainView.Dispatcher.RunAsync(
CoreDispatcherPriority.Normal,
() => Clipboard.SetContent(dataPackage));
另外,请注意,这意味着Clipboard
也不能从后台服务中使用(它没有关联的UI线程)。