简单的WPF + MVVM绑定

时间:2011-05-19 04:55:20

标签: c# wpf data-binding mvvm

我有一个名为MyWindow的类派生自Window。我使用MVVM模式,因此在代码隐藏中我有以下字段:

public MyViewModel ViewModel = new MyViewModel();

ViewModel包含Person的集合,我想做的就是将ComboBox绑定到此集合,将Person.Name作为每个标题的标题Person
我还希望在ViewModel中有另一个字段,它将与所选项目绑定数据。

请帮帮我。

2 个答案:

答案 0 :(得分:5)

首先,如果你还没有这样做,你必须将窗口的datacontext设置为构造函数中的viewmdodel:

this.DataContext = MyModelView;

然后您可以按如下方式设置ComboBox:

<ComboBox ItemsSource={Binding Persons} SelectedItem={Binding CurrentPerson,Mode=TwoWay} DisplayMemberPath="Name"/>

如果人员是人员集合,则当前人员是所选人员将被绑定的财产。

答案 1 :(得分:2)

  1. 将modelView分配给MyWindow.DataContext属性。这使它可用于数据绑定。
  2. 在combobox xaml中定义数据绑定,如下所示:
  3. <ComboBox ItemsSource="{Binding PersonCollection}" DisplayMemberPath="Name" SelectedValue="{Binding SelectedPerson}" > </ComboBox>

    这假设你的modelView有一个PersonCollection属性,它是Person对象的集合,Person对象上的属性Name,以及Person类型的modelView上的属性SelectedPerson。