简单的 WPF + MVVM 绑定
Posted
技术标签:
【中文标题】简单的 WPF + MVVM 绑定【英文标题】:Simple WPF + MVVM binding 【发布时间】:2011-08-28 13:51:42 【问题描述】:我有一个名为MyWindow
的类,它派生自Window
。我使用 MVVM 模式,所以在代码隐藏中我有以下字段:
public MyViewModel ViewModel = new MyViewModel();
ViewModel
包含Person
的集合,我想做的就是将ComboBox
绑定到此集合,将Person.Name
显示为每个Person
的标题。
我还想在ViewModel
中有另一个字段,它将数据绑定到所选项目。
请帮帮我。
【问题讨论】:
看看他的链接***.com/questions/561166/… 【参考方案1】:首先你必须在构造函数中将窗口的数据上下文设置为 viewmdodel,如果你还没有这样做的话:
this.DataContext = MyModelView;
那么你可以如下设置ComboBox:
<ComboBox ItemsSource=Binding Persons SelectedItem=Binding CurrentPerson,Mode=TwoWay DisplayMemberPath="Name"/>
其中 Persons 是 Person 的集合,Current Person 是所选人员将绑定到的属性。
【讨论】:
【参考方案2】:-
将模型视图分配给 MyWindow.DataContext 属性。这使其可用于数据绑定。
在组合框 xaml 中定义数据绑定,如下所示:
<ComboBox ItemsSource="Binding PersonCollection"
DisplayMemberPath="Name"
SelectedValue="Binding SelectedPerson" >
</ComboBox>
这假定您的 modelView 有一个属性 PersonCollection,它是一个 Person 对象的集合,一个属性 Name 位于 Person 对象上,一个属性 SelectedPerson 位于 modelView 上的 Person 类型。
【讨论】:
以上是关于简单的 WPF + MVVM 绑定的主要内容,如果未能解决你的问题,请参考以下文章