带你撸出一手好代码
WPF框架ComboBox控件区分显示的内容和选中的值

在WPF框架中使用ComboBox控件,通常我们希望控件显示的内容是某种具有可读性的用户友好内容,而编程获得选中状态的值是程序友好的值。 比如说一个性别选择的ComboBox控件,展示的项是男和女,而对应的值分别是1和2。

 

而通过符合常规编程直觉, 直接设置ComboBox的Items属性是无法完成此任务的,Items属性无法区别对待展示的值和程序获取的值。

 

然而,通过设置ComboBox的DisplayMemberPath和SelectedValuePath成员可以满足需求

 

以选择性别的ComboBox 为例, 代码如下

 

            var dataSource = new List<object> {
                new {
                    Name="男",
                    Value="1"
                },
                new {
                    Name="女",
                    Value="2"
                }
            };
            var control = new ComboBox();
            control.ItemsSource = dataSource;
            control.DisplayMemberPath = "Name";
            control.SelectedValuePath = "Value";
            control.SelectedIndex = 0;



作者:陈大侠
日期:2018-02-22

留言(0条)

我要发表留言

您的大名 选填
电子邮箱 选填

欢迎关注微信公众号 「带你撸出一手好代码」

首页    GitHub 知乎 豆瓣 博客园