Do you have a TextBlock
or a TextBox
? I'm going to assume it's a TextBox
, since TextBlock
does not support text selection.
In that case, you can simply use data binding to keep this in sync.
<TextBox Name="text1" />
<TextBox Name="text2"
SelectionStart="{Binding Path=SelectionStart, ElementName=text1}"
SelectionLength="{Binding Path=SelectionLength, ElementName=text1}" />
This should ensure that the same area of text is selected in text2
when the user selects it in text1
and vice-versa.
EDIT See this answer for instructions on how to bind to these properties.
If you create a custom TextBox
as described in the linked answer, your code would look something like this:
<SelectionBindingTextBox Name="text1" />
<SelectionBindingTextBox Name="text2"
BindableSelectionStart="{Binding Path=BindableSelectionStart, ElementName=text1}"
BindableSelectionLength="{Binding Path=BindableSelectionLength, ElementName=text1}" />