我需要绘制大量的WPF路径。我已经将它们设置为帆布的孩子。问题在于事件被隧道传递给路径对象。这会降低性能。我知道覆盖预览方法解决了这个问题,但我是否真的必须覆盖所有预览方法..防止WPF事件隧道效应
1
A
回答
1
我认为你可以在Canvas中捕获事件并将e.Handled设置为true。
0
我找到了解决办法。我将路径对象的IsHitTestVisible属性设置为false。现在他们不会放慢表现。
0
不复活旧的问题,但如果有例如按钮而不是路径,将IsHitTestVisible设置为true将会不太合适,因为它有效地防止了Click和其他事件。
在我的情况下,我有一个TabItem与一个PreviewMouseMove事件和一个非常TabItem的按钮与Click事件没有触发。 问题是,如果您在父控件上获得隧道事件(如PreviewMouseMove),它将在其子控件上“覆盖”类似的事件。 一个可能的解决方案 - 为我制定的一个 - 正在挑选不同的冒泡事件,如MouseMove。
简而言之,冒泡事件传播到父元素,而隧道事件传播到子元素;也有直接事件,根本不传播。
关于这个问题的更多信息here。
相关问题
- 1. WPF按钮隧道OnClick事件
- 2. 防止隧道与此设置?
- 3. 隧道事件和ContextMenu
- 4. 防止冒泡WPF TreeView的SelectedItemChanged事件
- 5. 隧道Dockpanel Mousedown事件在WPF中的复选框
- 6. 防止事件
- 7. 等效使用ssh隧道
- 8. 什么是使用隧道CommandBinding.previewcanexecute事件?
- 9. 防止悬停效应
- 10. WPF隐藏窗口关闭事件防止应用程序终止
- 11. 防止父UIControl响应touchDown事件
- 12. WPF防止事件在控件之外冒泡
- 13. jquery点击事件防止
- 14. 如何防止ListBox.SelectedIndexChanged事件?
- 15. jqueryui防止事件堆积
- 16. Javascript:防止keyUp事件
- 17. jQuery防止onmouseover事件
- 18. 防止NSManagedObjectContextDidSaveNotification事件重叠
- 19. Raphael.JS,防止事件冒泡
- 20. 防止button_click事件在c#
- 21. 防止事件传播
- 22. hslider防止键盘事件
- 23. WPF等效于Control.CursorChanged事件
- 24. WPF:如何防止CheckBox.Checked事件被ComboBox作为ToggleButton触发?
- 25. WPF:防止“已完成”事件在删除动画后触发
- 26. 如何防止绑定时间(WPf)上的combobox SelectionChanged事件?
- 27. 防止WPF TreeView的GotFocus事件冒泡树
- 28. box2d,在与b2_dynamicbody碰撞时破坏b2_staticbody导致隧道效应
- 29. 在每个控件上设置事件隧道默认设置