0
誰もがテキストブロックでどのように強調表示するか考えていますか?WPFのハイライト
基本的に私は2つのテキストブロックを持ち、両方とも同じ文字列を持っています。テキストブロックの1つの文字列の一部を強調表示すると、他のテキストブロックも同じ強調表示された部分を表示します。私は基本的にどのように強調表示を行うに固執しています。事前
誰もがテキストブロックでどのように強調表示するか考えていますか?WPFのハイライト
基本的に私は2つのテキストブロックを持ち、両方とも同じ文字列を持っています。テキストブロックの1つの文字列の一部を強調表示すると、他のテキストブロックも同じ強調表示された部分を表示します。私は基本的にどのように強調表示を行うに固執しています。事前
で
おかげで、あなたはTextBlock
やTextBox
を持っていますか? TextBlock
はテキスト選択をサポートしていないため、TextBox
と仮定します。
この場合、データバインディングを使用してこれを同期させておくことができます。
<TextBox Name="text1" />
<TextBox Name="text2"
SelectionStart="{Binding Path=SelectionStart, ElementName=text1}"
SelectionLength="{Binding Path=SelectionLength, ElementName=text1}" />
これにより、ユーザは、text1
とその逆にそれを選択すると、テキストの同じ領域をtext2
に選択されていることを確認すべきです。
EDITこれらのプロパティにバインドする方法については、this answerを参照してください。
リンクの答えで説明したように、カスタムTextBox
を作成する場合は、あなたのコードは次のようになります。
<SelectionBindingTextBox Name="text1" />
<SelectionBindingTextBox Name="text2"
BindableSelectionStart="{Binding Path=BindableSelectionStart, ElementName=text1}"
BindableSelectionLength="{Binding Path=BindableSelectionLength, ElementName=text1}" />
ああ、私が試したが、私はこのエラー に設定することができません「バインド」Aを持っているがタイプ 'TextBox'の 'SelectionStart'プロパティ。 「Binding」はDependencyObjectのDependencyPropertyでのみ設定できます。 – edelweiss
私は提案されたテキストボックスを使用します。ただ実現したテキストブロックはテキストを選択できません – edelweiss
@ user992618:問題を修正しましたか? –