WPF高亮显示

本文关键字:显示 高亮 WPF | 更新日期: 2023-09-27 18:12:04

有人知道如何在文本块中突出显示吗?

基本上我有2个文本块,都有相同的字符串。当我在一个文本块中突出显示字符串的一部分时,另一个文本块也会显示相同的突出显示部分。我基本上被如何突出显示卡住了。

Thanks in advance

WPF高亮显示

您有TextBlock还是TextBox ?我假设它是TextBox,因为TextBlock不支持文本选择。

在这种情况下,可以简单地使用数据绑定来保持同步。

<TextBox Name="text1" />
<TextBox Name="text2" 
       SelectionStart="{Binding Path=SelectionStart, ElementName=text1}" 
       SelectionLength="{Binding Path=SelectionLength, ElementName=text1}" />

这将确保用户在text1中选择的文本区域在text2中被选中,反之亦然。

EDIT有关如何绑定这些属性的说明,请参阅此回答。

如果您按照链接答案中的描述创建自定义TextBox,您的代码将看起来像这样:

<SelectionBindingTextBox Name="text1" />
<SelectionBindingTextBox Name="text2" 
       BindableSelectionStart="{Binding Path=BindableSelectionStart, ElementName=text1}" 
       BindableSelectionLength="{Binding Path=BindableSelectionLength, ElementName=text1}" />