我是WPF和MVVM Light的新手,如果你能帮助我,我将不胜感激: - )
我想知道如何使用MVVM Light实现一个组合框来执行以下操作:
1)在组合框中选择一个项目
2)根据选择的值,更改GUI中的其他文本字段。
感谢您的帮助。
罗曼
答案 0 :(得分:6)
好:
查看:
<ComboBox ItemsSource="{Binding SourceData}" SelectedItem="{Binding SelectedSourceData,Mode=TwoWay}"/>
<TextBlock Text="{Binding SelectedDataInTextFormat}"/>
视图模型:
public class ViewModel:ViewModelBase
{
public ObservableCollection<Foo> SourceData{get;set;}
public Foo SelectedSourceData
{
get{return _selectedFoo;}
set{_selectedFoo=value;
RaisePropertyChanged("SelectedSourceData");
SelectedDataInTextFormat=Foo.ToString();
}
public string SelectedDataInTextFormat
{
get{return _selectedDataInTextFormat;}
set{_selectedDataInTextFormat=value;
RaisePropertyChanged("SelectedDataInTextFormat");
}
}
基本上,为了确保您的视图模型能够从组合框接收更新的选定项目,请确保将SelectedItem绑定设置为Mode = TwoWay。要确保在viewmodel中更改occue时确保将视图模型中的数据推送到视图,请确保为要在视图中更新的属性调用RaisePropertyChanged帮助程序类。