2013-01-02 64 views
4

我是新來WPF和MVVM光,我將不勝感激,如果你能幫助我:-)MVVM燈和ComboBox

我想知道如何實現與MVVM光一個ComboBox做到以下幾點:

1)在組合框中選擇一個項目

2)根據選擇的值,更改GUI中的其他文本字段。

謝謝你的幫助。

羅曼

+0

使用視圖模型類發佈代碼,以便我們知道應綁定哪些屬性以及應更改哪些屬性。 – vorrtex

回答

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。爲了確保在視圖模型中發生更改時確保您將數據從視圖模型推送到視圖,請確保您爲要在視圖中更新的屬性調用RaisePropertyChanged幫助器類。

+0

非常感謝:-)這正是我所期待的。 – Romain