我有一个绑定做词典的组合框
Dictionary<String, myClass> boxItems;
组合框具有以下dataTemplate:
<DataTemplate>
<TextBlock Text="{Binding Path=Key}"></TextBlock>
</DataTemplate>
这适用于加载值和获取所选值,但是我无法弄清楚如何从代码隐藏中设置所选值。
任何指针?
我已经尝试将selectedItem和selectedValue设置为Key(我知道它在字典中),但是当我加载页面时,组合框没有选择任何内容。
答案 0 :(得分:2)
将此添加到您的ComboBox
<ComboBox SelectedItem="{Binding SelectedBoxItem}"/>
在实现INotifyPropertyChanged的类中使用它:
private myClass _selectedBoxItem;
public myClass SelectedBoxItem
{
get { return _selectedBoxItem; }
set
{
_selectedBoxItem = value;
OnPropertyChanged("SelectedBoxItem");
}
}
答案 1 :(得分:1)
您需要使用要选择的键创建KeyValuePair。
您可以这样做:
myCombo.SelectedItem = new KeyValuePair<string, int>("myKey", boxItems["myKey"]);