Wpf:如何处理和生成事件
本文关键字:事件 处理 何处理 Wpf | 更新日期: 2023-09-27 18:05:15
我有一个不可见的按钮,点击时触发命令,但在它下面我有一个控件,预计将被拖动。但是我的按钮拦截了事件,所以拖拽不会发生。
如果我在按钮上设置IsHitTestVisible=false,那么它下面的控件就会正确地处理拖动。
我想知道我的按钮是否有可能处理其点击命令,但随后以某种方式冒泡事件?
所以有点像IsHitTestVisible=false但是我的按钮仍然能够处理事件。
我正在寻找一个xaml唯一的解决方案,因为这是在app.xaml…
谢谢
我会考虑使用Thumb原语类来代替不可见的Button。
我宁愿使用附加事件,在本例中为"MouseDown",并将其附加到可拖动控件上。这样当它被拖动时,你就会触发MouseDown事件。
例如,您可以在这里了解附加事件,也可以在无数讨论该事件的博客中了解;)
尝试在控件上使用PreviewMouseDown
事件而不是MouseDown
事件来启动所需的(拖动)逻辑。只有当允许在命令被触发之前执行拖动逻辑时,这才会起作用。
记住在处理程序中设置e.Handled=flase
,以便Button
将有它的点击。