ユーザー指定のコンテンツと、そのコンテンツを操作するためのハイパーリンクの両方を含む 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」のテキストを強調表示し、それをクリップボードにコピーできます。これはいい。ただし、ハイパーリンクを強調表示してコピーすることもできます。次の 2 つの理由から、それは避けたいと思います。
- ハイパーリンクは実際にはコンテンツの一部ではないので、クリップボードや別のプログラムで何の役に立つでしょうか?
- また、FlowDocument の一部ではないフォームに他のハイパーリンクがあることも期待しています。一部のハイパーリンクが強調表示可能で、他のハイパーリンクが強調表示されないのは不適切な形式です。
私はこれらのハイパーリンクを段落で折り返すのが好きで、折り返されたテキストの最後の行のすぐ右側に常に表示されます。私の知る限り、それは FlowDocument の一部である必要があることを意味します。しかし、それは単なるレイアウトのアーティファクトです。同じレイアウトを取得できれば、外に置いても同じくらいうれしいです。ダイアログの [OK] ボタンと [キャンセル] ボタンを強調表示できるようにしたいのと同じように、ハイパーリンクを強調表示できるようにしたくありません。それを実現する方法はありますか?