我正在使用PreviewMouseButton事件来验证是否可以选择项目,因为我希望仅在用户手动选择而不是自动选择时才进行验证。
作为验证的一部分,我展示MessageBox以确认用户是否真的想要更改选择。一旦用户说“是”,我应该让选择发生,否则,选择不应该发生。
问题是,即使在我选择“是”之后,在MessageBox确认中,它也不让我选择项目。
你可以告诉我我错过了什么吗? private void ListBox_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if(!ParentViewModel.CanChangeList())
{
e.Handled = true;
}
}
public bool CanChangeTree()
{
if (someCondition)
{
MessageBoxResult objResult = MessageBox.Show("Are You sure You want to change?", "Confirmation", MessageBoxButton.YesNo);
if (objResult == MessageBoxResult.Yes)
{
return true;
}else
{
return false;
}
}
return true;
}