2012-01-21 82 views
1

我有一個WP7列表框,包含2個項目,「第1行」和「第2行」。當我選擇一個項目時,它會將選中的項目狀態更改爲選中狀態,文本將變爲紅色。如何將ListBox SelectedItem重置爲原始狀態。 WP7

選擇之後,我顯示一個MessageBox,然後選擇OK,然後返回列表框,其中的項目仍然被選中(紅色)。

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

TIA, 三分球

這是我使用的代碼。這有點破解,但有點作品。

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"); 
    } 
+0

如果你只有兩個項目,你可以使用別的東西比listbox –

+1

myListBox.SelectedIndex = -1; –

回答

0

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

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

的屬性將提高綁定到它的屬性更改,然後將列表的SelectedItem屬性,這樣的變化將得到體現在UI。

如果您沒有使用MVVM,那麼它會看起來類似,但您必須將其設置在Codebehind中。

希望這會有幫助

Miguel。

0

存儲上一個選擇的項目。顯示消息框後,在列表框中手動重置所選項目

+0

這是我的代碼: –

相關問題