代码隐藏中的组合框选定值路径问题



我正在尝试将Dictionary绑定到WPF应用程序中的ComboBox

SortedDictionary<string, string> result = new SortedDictionary<string, string>();
((ComboBox)frameWorkElement).ItemsSource = result;
((ComboBox)frameWorkElement).DisplayMemberPath = "Value";
((ComboBox)frameWorkElement).SelectedValuePath = "Key";

((ComboBox)frameWorkElement).MinWidth = 200;
frameWorkElement.Name = "ListOfValues";
var binding = new Binding("ComboBoxSourceValue")
{
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
};
binding.Mode = BindingMode.TwoWay;
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
frameWorkElement.SetBinding(ComboBox.TextProperty, (BindingBase)binding);

在 UI 端,值正确绑定。但是在提交操作中,我只能看到值(Display value(只有所选值的Key

frameWorkElement.SetBinding(ComboBox.SelectedValueProperty, binding);

如果ComboBox或父元素的DataContext设置为具有名为"ComboBoxSourceValue"的string源属性的类的实例,则应该可以工作。

SelectedValuePath是指KeyValuePair<TKey, TValue>SortedDictionary中的属性。您仍然需要将值绑定到源属性。

相关内容

  • 没有找到相关文章

最新更新