2

我想制作一个包含用户指定内容和用于操作该内容的超链接的 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 的一部分。但这只是布局的产物——如果我能得到相同的布局,我会很高兴把它们放在外面。我不希望超链接可以突出显示,就像我不希望对话框的“确定”和“取消”按钮可以突出显示一样。有没有办法做到这一点?

4

2 回答 2

1

我刚刚检查过 Blend,你不能真正应用 IsSelectionEnabled=false 之类的属性来阻止

但是,您可以放置​​不会被复制的内容(也许是文字?)并且可以被剥皮

另一个选项是在流文档中显示内容并在其他地方进行编辑和控制。如果您不想使用 FlowDocumentScrollViewer,您可以使用网格并将按钮定位为 FlowDocumentScrollViewer 的一部分

于 2009-08-10T02:14:58.230 回答
0

如果是我,我会将这些链接放在流文档之外,可能放在侧边栏之类的地方。

于 2014-03-13T14:46:00.987 回答