C# WPF 数据绑定 SelectedValue SelectedValuePath DisplayMemberPath的区别?
在使用数据绑定时,看到很多例子是SelectedValue="{BindingTestId}",SelectedValuePath="Id",DisplayMemberP...
在使用数据绑定时,看到很多例子是 SelectedValue = "{Binding TestId}", SelectedValuePath = "Id", DisplayMemberPath="Name";这几个是什么关系?有什么区别?
展开
2个回答
展开全部
一般是只有能绑定数据集合的控件才有这些属性的,如datagrid,combobox等。那我们就拿combobox做例子吧。如果combobox后台绑定一个对象集合,我们定义一个有两个属性的对象吧。比如Class Data ,它有俩属性,Id,Name。我们希望实现的是combobox的选项里面只显示Name,但是在传值的时候只传id。那此时就可以设置SelectedValuePath = "Id", DisplayMemberPath="Name"。在这两个属性都不设置的情况下,无论显示还是传值,都是Data这个对象。剩下来还有一个SelectedValue,其实你应该还会问SelectedItem跟这个是什么关系。在我们选中combobox的项时,如果我们没有设置SelectedValuePath的话,SelectedItem和SelectedValue的值是一样的,都是选中的那个实体对象(例子中的Data),但如果设置了SelectedValuePath。SelectedItem是Data,但SelectedValuePath就是选中项的id了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询