绑定ComboBox WPF自定义对象

时间:2017-12-01 22:20:44

标签: wpf combobox bind two-way

过去几个小时我一直在捣乱我的大脑,这个问题可能很容易解决。我希望有人能指出我正确的方向:)

我有一个WPF项目,用户可以在其中编辑xml文件。我将xml文件序列化为名为FilterSetting的对象,该对象具有以下属性:

    public int FilterType {get; set;}
    public string FilterName {get; set;} 
    public string FilterDescription {get; set;} 

我有两个文本框和一个由静态字典生成的组合框,其中包含以下值

    Dictionary<int, string> d = new Dictionary<int, string>();
       d.Add(1, "FilterType 1 description");
       d.Add(2, "FilterType 2 description");
       d.Add(3, "FilterType 3 description");
       d.Add(4, "FilterType 4 description");
       d.Add(5, "FilterType 5 description");
       d.Add(6, "FilterType 6 description");

我将datacontext设置为FilterSetting对象,并对FilterNameFilterDescription的文本框进行双向绑定,效果很好。我想要做的是使用我的字典中的选项以相同的方式绑定ComboBox,并对我的FilterType对象上的FilterSetting属性进行双向绑定。

我该怎么做? :)

彼得

1 个答案:

答案 0 :(得分:0)

如果我理解你的要求,似乎你希望组合框在绑定到FilterType时显示描述。 如果是这种情况,请使用DisplayMemberPath和SelectedValuePath来完成此操作。 例如在xml中:

<ComboBox ...
DisplayMemberPath = "FilterDescription"
SelectedValuePath = "FilterType"
.../>