/ テキストの長さに基づく/ WPFテキストボックスの背景色 - wpf、colors、textbox、background

WPF Textboxテキストの長さに基づく背景色 - wpf、色、テキストボックス、背景

リストビューのアイテムテンプレートにテキストボックスがあります。 長さが75文字を超える場合は常にテキストボックスの背景色を赤に変更したいのですが、ユーザーの入力に応じて背景色を更新する必要があります。 WPFでこれを達成するための最良の方法は何ですか?

回答:

回答№1は8

私はこのようなことがうまくいくと信じています。それはあなたがあなた自身のバックグラウンドカラーコンバータを書くことを要求するでしょう。

<TextBox
Background="{Binding RelativeSource={RelativeSource self},
Path=Text,
UpdateSourceTrigger=PropertyChanged,
Converter={StaticResource backgroundColorConverter}}"
...
/>

別の選択肢は、以下のようにDataTriggerを使用することです。これはまた、文字列の長さが75以上であるかどうかを確認するためにコンバーターを必要とします。

<TextBox>
....
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="YourDefaultColor" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=YourTextBox, Path=Text, Converter={StaticResource textLengthColorConverter}}" Value="True">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>

回答№2の場合は0

あなたはテキストブロックの長さに応じて背景を適用するテキストブロック内で "Run"タグを利用することができます