簡體   English   中英

使用選定值(C#WPF)時,組合框選擇已更改事件在選擇更改之前觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM