MVVM Light和combobox

时间:2013-01-02 06:58:46

标签: wpf combobox mvvm-light

我是WPF和MVVM Light的新手,如果你能帮助我,我将不胜感激: - )

我想知道如何使用MVVM Light实现一个组合框来执行以下操作:

1)在组合框中选择一个项目

2)根据选择的值,更改GUI中的其他文本字段。

感谢您的帮助。

罗曼

1 个答案:

答案 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帮助程序类。