如何将ListBox SelectedItem重置为它';的原始状态.WP7

本文关键字:原始 原始状 WP7 状态 ListBox SelectedItem | 更新日期: 2023-09-27 18:20:56

我有一个WP7 ListBox,包含两个项目,"第1行"answers"第2行"。当我选择一个项目时,它会将所选项目的状态更改为已选择,并且文本将为红色。

选择后,我会显示一个MessageBox,然后选择OK,并返回到ListBox,其中项目仍处于选中状态(红色)。

如何将所选项目重置为其原始状态?

TIA,Trey

这是我正在使用的代码。这有点像黑客,但有点奏效。

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

如何将ListBox SelectedItem重置为它';的原始状态.WP7

如果您使用MVVM,则ViewModel可以控制此逻辑,在用户单击Messagebox上的Ok后清除选择。代码可能看起来像

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

该属性将引发属性更改,并将列表的SelectedItem属性绑定到该属性,这样更改将反映在UI中。

如果你没有使用MVVM,那么它看起来会很相似,只是你必须在Codebehin中设置它。

希望这能帮助

米格尔。

存储上一个所选项目。显示消息框后,在列表框上手动重置所选项目