テキストボックスとラベルを含むユーザーコントロールがあり、ラベルには入力テキストの長さが表示されます(書式設定あり)。テキストが 160 文字を超える場合、テキスト ボックスの背景色を変更したいと考えています。
私はバインディングでこれを達成することを考えていましたが、テキストの長さに置き換えられるタグが含まれているため、同じコンピューティングを行う 2 つの異なるバインディングを使用するつもりはありません。変えることに成功しない
これを達成するための3つの方法を考えることができます:
1)すべてのタグをテキストに置き換えた隠しラベルを作成し、メッセージの長さを表示して背景色を変更するための2つの単純なコンバーターをバインドします。そのような基本的なタスクのための 3 コンバーターは、私には多すぎるように思えます。
2) text_changed イベントを使用して作業を行います。これは機能しますが、WPFで行う方法ではないようです。
3) マルチバインディングを使用し、フォームをソースとして渡します。これは機能するはずですが、「神のオブジェクト」アプローチが多すぎます。
それについてどう思いますか ?よりクリーンでシンプルなソリューションがありませんか?
どんな提案でも大歓迎です、よろしくお願いします。