1

私が顧客のリスト(リスト)を持っていて、各顧客が州のプロパティを持っているとしましょう。

ComboBoxのSelectedValueをバインドして、すべての顧客が状態としてWAを持っている場合に、たとえば「WA」を表示する(SelectedValueが)ようにすることは可能ですか?

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

私はValueConverterを介してそれを複雑にしました。ここでは、Convertメソッドを使用して、State-propertyの値がすべて同じである場合はそれを返し、そうでない場合はnullを返します。このメソッドでは、value-parameterはList..です。

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

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

4

1 に答える 1

1

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

私の ValueConverter には、プライベート List パラメータがあり、選択したすべての顧客が同じ State プロパティを持っている場合に追加します。

次に、ConvertBack メソッドで、リスト内のすべての Customer オブジェクトの State を更新するだけです...

于 2010-05-28T11:10:57.853 に答える