2009-07-07 109 views
1

我有一個組合框,它是從另外兩個組合中選擇的。 沒問題我有這個工作。 問題是我只想在發生這種情況後激活選定項目綁定。WPF組合框如何綁定代碼中的選定項目?

這裏是我的組合

<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上的一個屬性(讓我們調用這個屬性Combo3Items)。

您還需要兩個第一組合框綁定在同一個視圖模型的屬性(我們稱之爲分別爲這些Combo1Items和Combo2Items)。除此之外,你可以這兩個組合框的SelectedValue的綁定到視圖模型的屬性,使視圖模型知道這是選擇的項目。

最初,Combo3Items將爲空,但只要正確指定了兩個BoundValue,就可以填充Combo3Items並引發一個INotifyPropertyChanged事件。

的MVVM架構是非常強大的。如果你還不知道,可以閱讀更多關於它的文章here