我在尝试了解如何在WP8.1上调用第三方应用来处理Clipboard setText方法时遇到了一些麻烦。 我知道目前还没有可用的API,所以这是我正在使用的方法,我想从RichEditBox获取文本并将其发送到剪贴板。
private async void copyClipboard_Click(object sender, RoutedEventArgs e)
{
String temp;
myRichEditBox.Document.GetText(TextGetOptions.None, out temp);
await Windows.System.Launcher.LaunchUriAsync(new Uri(@"clipboard:?Text=" + temp));
}
这是发生的事情:我收到一条消息,告诉我我需要第三方应用程序(这没关系),我从建议的应用程序列表中安装了Clipboarder,但随后我重新打开了我的应用程序,我点击了按钮触发上面的方法并没有发生任何事情,我看到转换出来,就像操作系统试图打开另一个应用程序(Clipboarder我猜)然后该应用程序崩溃,框架返回到我的应用程序。 每次我尝试,这总是发生。 发射器是否有问题,我的意思是,我在这里错过了一些东西吗?
感谢您的帮助:)
塞尔吉奥
编辑: 我找到了一个解决方案,我补充说:作为答案:D
答案 0 :(得分:1)
好的,我认为ahahahahah
我会写这个以防万一其他人需要这个:你只需要安装这个库。
https://www.nuget.org/packages/InTheHand.ApplicationModel.DataTransfer/8.2014.4.301
然后在您的应用中添加以下内容:
var data = new DataPackage();
data.SetText("My custom text");
Clipboard.SetContent(data);
当然,您必须在解决方案中添加对库的引用并包含它:
using InTheHand.ApplicationModel.DataTransfer;
现在应用程序会正确地将文本传递给第三方Silverlight应用程序,以便将其写入剪贴板:)