wpf - WPF - 我可以在 MouseUp 而不是 MouseDown 上选择一个节点吗?
问题描述
我有一个树视图设置,其中 SelectedItem 绑定到 ContentPresenter,以便 ContentPresenter 显示该树视图项的属性。该项目的属性之一是包含相同类型对象的列表框,我希望能够将其他节点从树视图拖到该列表框中。我能够实现拖放行为本身,但如果我想将节点 B 拖到节点 A 的列表框,我不能。只要我在节点 B 上左键单击(不释放),它就会变成 SelectedItem 并且 ContentPresenter 开始显示节点 B 而不是节点 A 的属性。我想更改行为,以便选择树视图节点需要完全单击(向上+向下)而不是仅仅向下。我尝试创建一个自定义事件处理程序,其中包含
private void TreeViewItemClickHandler(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
在 xaml 中,设置<EventSetter Event="MouseDown" Handler="TreeViewItemClickHandler"></EventSetter>
不做任何事情,并<EventSetter Event="PreviewMouseDown" Handler="TreeViewItemClickHandler"></EventSetter>
完全阻止点击。有没有办法使树视图节点选择仅在释放鼠标左键时发生?
解决方案
推荐阅读
- sql-server - 如果列中包含特定值,则删除重复记录
- python - 它与 2.7x 更新兼容,还是应该使用 Select python Interpreter 3 或 2.7x 来使用 Python for Maya?
- reactjs - 反应 - 嵌套箭头组件的文本区域 - 无法在值更改时调用设置状态
- python-3.x - 如何从烧瓶中动态创建的表单中读取用户输入?
- sql - 如何在不使用 AND 或 OR 子句的情况下,使用 where 子句一次性匹配多个列的组合
- java - JPA 的 EntityManager 是什么?
- python - 反应编辑,只编辑discord.py中最新的命令
- javascript - html中的类或内联样式时,javascript onclick更改div不起作用
- excel - 第二次循环后下标超出范围
- python - iloc 循环返回“单个位置索引器超出范围”错误