【发布时间】:2010-11-18 03:49:54
【问题描述】:
我想制作一个 FlowDocument,它既包含用户指定的内容,又包含用于操作该内容的超链接。我希望用户能够用鼠标突出显示内容,并将其复制到剪贴板。有没有办法允许这样做,同时防止用户突出显示和复制超链接?
(请注意,用户不会直接编辑此 FlowDocument ——这只是显示他们在其他地方输入的内容的好方法。)
例如:
<FlowDocumentScrollViewer>
<FlowDocument>
<Paragraph>
Blah blah blah blah, blah blah blah -- blah blah blah blah blah blah.
Blah, blah blah Blah blah blah, blah blah blah blah-blah blah.
(<Hyperlink>Edit</Hyperlink> - <Hyperlink>Delete</Hyperlink>
</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
用户可以使用鼠标突出显示“1.0 版”文本,并将其复制到剪贴板。这很好。但是,他们也可以突出显示超链接并复制它们。我宁愿避免这种情况,原因有两个:
- 超链接实际上并不是内容的一部分,那么它们在剪贴板或其他程序中有什么用?
- 我还希望表单上有其他超链接,这些超链接不是 FlowDocument 的一部分,如果某些超链接可突出显示而其他超链接则不能,这将是一种糟糕的形式。
我喜欢让这些超链接与段落自动换行,并且总是出现在换行文本的最后一行的右侧。据我所知,这意味着它们需要成为 FlowDocument 的一部分。但这只是布局的产物——如果我能得到相同的布局,我会很高兴把它们放在外面。我不希望超链接可以突出显示,就像我不希望对话框的“确定”和“取消”按钮可以突出显示一样。有什么办法可以实现吗?
【问题讨论】:
标签: wpf copy-paste highlight flowdocument