WPF MultiBinding 複数のコントロールの状態からOKボタンの有効/無効を切り替えるには?

本日は、WPFの記事です。

ダイアログを作成する時、

いろいろなコントロールの状態を見て、OKボタンの有効/無効状態を切り替えたい場合、どのような手法を使いますか?

例えばこのようなダイアログが、あったとして

入力エラーのテキストボックスが、1つ以上存在した時、OKボタンを無効したいといった場合です。

MultiBindingを使用すれば、複数のコントロールの状態を見て、OKボタンの状態を変化させることができます。

Path=”(Validation.HasError)” ElementName=”textBox1″でtextBox1のエラー状態をみています。textBox2とtextBox3の状態も合わせてみることができます。

MultiBindingでは、複数の状態を使って、どのように反映させるかをConverterを使って定義してあげないといけないです。

Converter=”{StaticResource ConvertNegativeIfTrueExist}” の部分です。

ConvertNegativeIfTrueExistの実装です。

IMultiValueConverterを基本クラスとしてコンバータ定義してください。

今回の例では、エラー状態が存在する、つまり一つでもtrueが存在すれば、無効にしたので、falseを返すようにします。一つもなければ、trueを返します。

コンバータ使用の際はxamlの先頭で次のように書いてください。

以上

——-

android無料アプリ

タイマー&四つ葉のクローバー探し

screen2

https://play.google.com/store/apps/details?id=com.tuffyz.clovertimer

 

 

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です