ユーザー名テキスト ボックスとパスワード ボックスを含むログイン フォームがあります。
両方のフィールドに値が含まれている場合にのみ、[OK] ボタンを有効にしたいと考えています。
すべての文字列が null または空であるかどうかをチェックするコンバーターがあります。
Convert メソッドの最初の行にブレークポイントを配置しました。ブレークポイントは、MenuItem
初期化時、あとがき、つまりテキストを変更したときにのみ停止します。
次の例はうまく機能します。問題は、テキストを変更したときにマルチバインディングがトリガーされないことです。フォームを初期化するときにのみバインドされます。
<!--The following is placed in the OK button-->
<Button.IsEnabled>
<MultiBinding Converter="{StaticResource TrueForAllConverter}">
<Binding ElementName="tbUserName" Path="Text"/>
<Binding ElementName="tbPassword" Path="Password"/>
</MultiBinding>
</Button.IsEnabled>
問題は、リモートバインディングソースが変更されたときに通知されないことだと思います(たとえば、設定するオプションがありませんUpdateTargetTrigger="PropertyChanged"
.
何か案は?