[英]Combo Box Selection Changed Event fires before Selection Changes when using Selected Value (C# WPF)
我有一個組合框和一個按鈕。 當我單擊按鈕時,應該更改選定的值,然后在更改項目時觸發代碼。 不幸的是,在我設置組合框的選定值之前,會觸發選擇更改事件。
我的組合框上的代碼初始化:
ListCB.SelectedValuePath = "Key";
ListCB.DisplayMemberPath = "Value";
ListCB.Items.Add(new KeyValuePair<int, string>(1, "One"));
ListCB.SelectedValuePath = "Key";
ListCB.DisplayMemberPath = "Value";
ListCB.Items.Add(new KeyValuePair<int, string>(2, "Two"));
ListCB.SelectedValuePath = "Key";
ListCB.DisplayMemberPath = "Value";
ListCB.Items.Add(new KeyValuePair<int, string>(3, "Three"));
我的按鈕的代碼:
ListCB.SelectedValue = 3;
我的選擇更改事件:
private void ListCB_Change(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show("Value is now: " + ListCB.SelectedValue);
}
發生的事情是,例如,如果我從組合框中選擇1並單擊按鈕,它將說現在的值是:1而不是3。
我使用了錯誤的事件嗎? 還是我使用錯誤的方式更改所選值?
使用SelectionChangedEventArgs
獲取新選擇的項目
private void ListCB_Change(object sender, SelectionChangedEventArgs e)
{
var item = (KeyValuePair<int, string>)e.AddedItems[0];
MessageBox.Show("Value is now: " + item.Key);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.