当我尝试使用它在combobox中显示我的字典值时,DisplayMemberPath会出错

这是我的combobox

  

这是我的C#代码

 var source = new Dictionary(); source.Add("Item1", 0.4); source.Add("Item2", 0.3); source.Add("Item3", 0.1); source.Add("Item4", 0.1); var formateDSource = new Dictionary(); foreach (var item in source) { formateDSource.Add(string.Format("[{0}, {1}]", item.Key, item.Value), item.Key); } comboBox1.ItemsSource = source.Values; comboBox1.DisplayMemberPath = "Value"; 

当我运行我的代码时,我在combobox中看不到任何内容。 我做错了什么?

试试这个:

  var source = new Dictionary(); source.Add("Item1", 0.4); source.Add("Item2", 0.3); source.Add("Item3", 0.1); source.Add("Item4", 0.1); var formateDSource = new Dictionary(); foreach (var item in source) { formateDSource.Add(string.Format("[{0}, {1}]", item.Key, item.Value), item.Key); } comboBox1.ItemsSource = source; 

你应该试试 ‘。’ 而不是Value,它应该将其作为绑定到对象,因为它没有属性名称

 comboBox1.DisplayMemberPath = ".";