2009-07-07 26 views
1

私は2つの他のコンボからの選択に配置されたコンボボックスを持っています。 問題はありません。 問題が発生した後、選択したアイテムのバインディングを有効にしたいだけです。ここでWPF ComboBox選択したアイテムをコードにバインドする方法は?

<cuc:ComboBox Name="GopLenTypeCombo" Width="240" Height="24" 
         IsSynchronizedWithCurrentItem="True" 
         SelectedValue="{Binding Mode=TwoWay, Source={StaticResource ProfileDataProvider}, XPath=GopLenType}" 
         IsEnabled="False"/> 

がどのように私はコンボを埋めてきたそれまではSelectedValueの結合作業を停止しない私のコンボのですか?

答えて

1

私は、これは純粋なXAMLで可能かどうかわかりませんが、あなたは基礎となるのViewModelを持っている場合、これはあまりにもハードではないでしょう。何をする必要があるだろうことに、あなたの第三コンボボックスをバインドすることです

ViewModelのプロパティ(このプロパティをCombo3Itemsと呼ぶ)。

また、最初の2つのComboBoxを同じViewModelのプロパティにバインドする必要があります(これらのCombo1ItemsとCombo2Itemsをそれぞれ呼び出してみましょう)。これに加えて、これらのComboBoxのSelectedValueを両方ともViewModelのプロパティにバインドして、ViewModelが選択されている項目を知るようにすることができます。

最初はCombo3Itemsは空ですが、2つのバインドされたSelectedValuesが適切に割り当てられると、Combo3Itemsを埋めてINotifyPropertyChangedイベントを発生させることができます。

MVVMアーキテクチャは非常に強力です。あなたがまだそれを知らないなら、それについての詳細を読むことができますhere

関連する問題