Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 3:如何实现文本块复制/粘贴功能?_Silverlight - Fatal编程技术网

Silverlight 3:如何实现文本块复制/粘贴功能?

Silverlight 3:如何实现文本块复制/粘贴功能?,silverlight,Silverlight,Silverlight非常棒,我的大多数应用程序用户都对Silverlight给予了积极的反馈。但是,如果没有复制/粘贴功能,一些用户将无法生存。它们通常用于复制/粘贴HTML页面提供的现成功能 如何实现这样的上下文菜单以及复制/粘贴功能 PS:Windows only解决方案也不错。除了使用IsReadOnly=true的TextBox之外,您将很难在文本块中模拟选择和复制/粘贴。我会确定他们最希望复制/粘贴的区域,并使用文本框。您甚至可以删除边框并制作一个透明的背景,它看起来应该与相邻的Te

Silverlight非常棒,我的大多数应用程序用户都对Silverlight给予了积极的反馈。但是,如果没有复制/粘贴功能,一些用户将无法生存。它们通常用于复制/粘贴HTML页面提供的现成功能

如何实现这样的上下文菜单以及复制/粘贴功能


PS:Windows only解决方案也不错。

除了使用IsReadOnly=true的
TextBox
之外,您将很难在
文本块中模拟选择和复制/粘贴。我会确定他们最希望复制/粘贴的区域,并使用文本框。您甚至可以删除边框并制作一个透明的背景,它看起来应该与相邻的TextBlock几乎相同

如果您这样做,那么您将获得TextBox提供的选择和复制功能,它可以跨浏览器工作


否则,您将需要通过浏览器的DOM将内容放到剪贴板上,这将是一个痛苦,因为跨浏览器的问题。Silverlight 4添加了一个测试版,如果您能够使用测试版开始开发。

这个Codeplex上的开源项目包含了一个演示,它可以实现这一点以及更多功能:


正如Josh所回答的,将
文本框的样式设置为类似
文本块的样式。在复制和粘贴方面:

假设用户不满足于只按CTRL+C、CTRL+X或CTRL+V键-您现在可以在Silverlight 4中访问剪贴板:

string content = Clipboard.GetText();
Clipboard.SetText("hello world");
上下文菜单可以以多种方式完成,在Silverlight 4中,它实际上是跨浏览器而非IE的适当支持。您可以使用
弹出窗口
子窗口
来完成,也可以使用以下窗口中的一个:


@Josh非常感谢您的解决方案。有没有办法也有关联菜单?