簡體   English   中英

如何將ListBox SelectedItem重置為其原始狀態。 WP7

[英]How to reset ListBox SelectedItem to it's orginal state. WP7

我有一個WP7 ListBox,其中包含2個項目,“第1行”和“第2行”。 當我選擇一個項目時,它將選擇的項目狀態更改為“已選擇”,並且文本將為紅色。

選擇之后,我顯示一個MessageBox,然后選擇OK,然后返回到仍選中該項目的ListBox(紅色)。

如何將所選項目重置為原始狀態?

TIA,Trey

這是我正在使用的代碼。 這有點hack,但是有點用。

 private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        try
        {
            if (listBox1.SelectedItem.ToString() == "Line 1")
            {
                MessageBox.Show("Found");
                ResetListBox();
            }
            else
            {
                MessageBox.Show("Not Found");
                ResetListBox();
            }
        }
        catch { }
    }

    private void ResetListBox()
    {
        listBox1.Items.Clear();
        listBox1.Items.Add("Line 1");
        listBox1.Items.Add("Line 2");
    }

存儲先前選擇的項目。 顯示消息框后,在列表框上手動重置所選項目

如果您使用的是MVVM,則ViewModel可以控制此邏輯,在用戶單擊“消息框”上的“確定”后清除選擇。 該代碼可能看起來像

public void Show()
{
     MessageBox.Show();
     SelectedCustomer = _previouslySelectedCustomer;
}

該屬性將引發屬性更改,並將列表的SelectedItem屬性綁定到該屬性,這樣更改將反映在UI中。

如果您不使用MVVM,則它將看起來類似,只是必須在Codebehind中進行設置。

希望這可以幫助

米格爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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