[英]wpf programatically set combobox selected item when bound to dictionary
我有一個組合框,該組合框必做字典
Dictionary<String, myClass> boxItems;
組合框具有以下dataTemplate:
<DataTemplate>
<TextBlock Text="{Binding Path=Key}"></TextBlock>
</DataTemplate>
這對於加載值和獲取所選值的效果很好,但是我無法從代碼隱藏中弄清楚如何設置所選值。
有指針嗎?
我嘗試將selectedItem和selectedValue設置為Key(我知道它在字典中),但是在加載頁面時,組合框沒有選擇任何內容。
將此添加到您的組合框
<ComboBox SelectedItem="{Binding SelectedBoxItem}"/>
並在實現INotifyPropertyChanged的類中使用此方法:
private myClass _selectedBoxItem;
public myClass SelectedBoxItem
{
get { return _selectedBoxItem; }
set
{
_selectedBoxItem = value;
OnPropertyChanged("SelectedBoxItem");
}
}
您需要使用要選擇的密鑰創建一個KeyValuePair。
您可以執行以下操作:
myCombo.SelectedItem = new KeyValuePair<string, int>("myKey", boxItems["myKey"]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.