WPF突出显示

时间:2011-10-24 04:39:21

标签: c# wpf

任何人都知道如何在文本块中突出显示?

基本上我有2个文本块,两者都有相同的字符串。当我在其中一个文本块中突出显示部分字符串时,另一个文本块也会显示相同的突出显示部分。我基本上坚持如何突出显示。

提前致谢

1 个答案:

答案 0 :(得分:0)

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

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

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

当用户在text2中选择文本时,应确保在text1中选择相同的文字区域,反之亦然。

编辑有关如何绑定这些属性的说明,请参阅this answer

如果您按照链接的答案中所述创建自定义TextBox,那么您的代码将如下所示:

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