我想将我的组合框ItemsSourse绑定到“值”,即(字符串组件)
ObservableCollection<KeyValuePair<object, string>>.
我该怎么做?
答案 0 :(得分:1)
您可以将ItemsSource绑定到ObservableCollection,然后将DisplayMemberPath设置为Value:
<ComboBox ItemsSource="{Binding YourCollection}" DisplayMemberPath="Value" />
然后,组合框中的值将与KeyValuePairs中的值匹配。
答案 1 :(得分:1)
最简单的方法是使用DisplayMemberPath
属性:
<ComboBox ItemsSource="{Binding Pairs}" DisplayMemberPath="Value" />
或者,您可以在viewmodel中公开一个仅包含值的新属性。例如:
public ObservableCollection<string> AllValues { get; set; }
public ViewModel()
{
AllValues = new ObservableCollection<string>(Pairs.Select(x => x.Value));
}
<ComboBox ItemsSource="{Binding AllValues}" />