【问题标题】:WPF ListBox does not select after PreviewMouseButton eventWPF ListBox 在 PreviewMouseButton 事件后不选择
【发布时间】:2013-02-10 16:50:57
【问题描述】:

我正在使用 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;
    }

【问题讨论】:

    标签: wpf listbox selection


    【解决方案1】:

    导致此问题的原因是显示消息框(尽管我不确定这是为什么)。

    如果你想坚持消息框,你需要在显示消息之前检索被点击的ListBoxItem;然后,如果允许,请自行设置所选项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多