2009-07-07 106 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