2009-07-23 30 views
1

私はCustomers(List)のリストを持ち、各CustomerにStateプロパティがあるとしましょう。バインドWPF ComboBox SelectedValueプロパティを複数のオブジェクトにバインド

ComboBoxのSelectedValueをバインドして、(SelectedValueを持つ)ようにすることができますか?すべてのお客様がWAを州として持つ場合は「WA」ですか?

顧客の状態値が異なる場合は、何も表示されません。 しかし、ORを選択すると、すべての得意先は、この値に州を設定する必要があります。

私はConvertメソッドを使用してStateプロパティの値がすべて同じ場合はValueConverterを使用し、それ以外の場合はnullを返します。このメソッドでは、値パラメータはListです。

しかし、ConvertBackメソッドではListオブジェクトにアクセスできませんが、バインディングを設定するときにListオブジェクトi XAMLにパラメータオブジェクトを設定できますすべての顧客に対してState-propertyを手動で設定しますが、それはちょうどいい気分になりません!

これを行う方法は他にありますか?

+0

まあ、うまくいきませんでした - どうやらあなたはConverterParameterに同じ結合を追加することはできませんし、 ComboBoxのSelectedValue ...( これを行う別の方法を見つけられない場合は、XAMLバインディングを行う必要があります。 – kennethkryger

答えて

1

よく、私の解決策でこのクエストを更新するのを忘れました。

私のValueConverterには、同じState-propertyを持つすべての選択した顧客を追加するプライベートListパラメータがあります。

その後ConvertBack-方法で私はリスト内のすべての顧客のオブジェクトの状態を更新...

+0

あなたのソリューションを2番目にしたいと思っています。あまりにも、私は信じています。 – MojoFilter

関連する問題