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