我在我的应用程序中有一个TextBlock
,其中包含一些网址的文本。同时,我希望文本可以选择和复制。如果我使用TextBox
元素,我失去了添加Hyperlink
的功能,如果我使用TextBlock
,我将失去选择功能。WPF文本块允许选择文本
说了这么多,你有什么建议保持超链接和选择(鼠标和键盘)的能力?
编辑:这个应用程序是一个聊天应用程序,我希望传入消息是可选的,而URL是可点击的。
我在我的应用程序中有一个TextBlock
,其中包含一些网址的文本。同时,我希望文本可以选择和复制。如果我使用TextBox
元素,我失去了添加Hyperlink
的功能,如果我使用TextBlock
,我将失去选择功能。WPF文本块允许选择文本
说了这么多,你有什么建议保持超链接和选择(鼠标和键盘)的能力?
编辑:这个应用程序是一个聊天应用程序,我希望传入消息是可选的,而URL是可点击的。
Webbrowser控件将允许文本选择和超链接。
网页浏览器不是文本编辑控件,它是一个网页浏览器。我想要一个文本元素。 –
文本块不用于文本编辑。它纯粹显示文字。如果你需要编辑文本,那么你需要一个文本框。 – Chris
我其实需要选择,而不是编辑。我需要双击超链接和文本选择。 –
你可以做这样的事情:
<Label>
<Hyperlink NavigateUri="[email protected]">
<Run Text="[email protected]"/>
</Hyperlink>
</Label>
可以适当风格,如果你想点击
不知道什么时候竟然导航到该链接,但也许你可以使用的RichTextBox添加命令超链接。参见:Adding hyperlink in textbox。
你将不得不设法找到用户输入的链接,并根据用户文本修改文本(插入超链接)。或者添加一种方式,例如ContextualMenu,以提供用户添加超链接。
我不确定你可以找到一个完全按你想要的控件。祝你好运!
我觉得['RichTextBox'](https://msdn.microsoft.com/en-gb/library/system.windows.controls.richtextbox(v = vs.110).aspx)就是你要找的东西为 – dkozl
@dkozl感谢您的回复,我不知道如何将超链接添加到RichTextBox,目前在TextBlock中,我使用TextBlock.Inlines.Add添加超链接。我的意思是我做了谷歌它,但RichTextBox是很多不同,也许我应该开始学习。 –