我有一个带有2个项目的WP7 ListBox,“Line 1”和“Line 2”。当我选择一个项目时,它会将所选项目状态更改为选中状态,文本将为红色。
选择后,我显示一个MessageBox,然后选择OK,并返回仍然选中该项目的ListBox(红色)。
如何将所选项目重置为原始状态?
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 :(得分:0)
存储上一个选定的项目。显示消息框后,在列表框中手动重置所选项目
答案 1 :(得分:0)
如果您正在使用MVVM,则ViewModel可以控制此逻辑,在用户在Messagebox上单击“确定”后清除选择。代码可能类似于
public void Show()
{
MessageBox.Show();
SelectedCustomer = _previouslySelectedCustomer;
}
该属性将提升属性更改并将列表的SelectedItem属性绑定到该属性,这样更改将反映在UI中。
如果您没有使用MVVM,那么除了您必须在Codebehind中设置它之外,它看起来会类似。
希望这有帮助
米格尔。