我需要繪製大量的WPF路徑。我已經將它們設置爲帆布的孩子。問題在於事件被隧道傳遞給路徑對象。這會降低性能。我知道覆蓋預覽方法解決了這個問題,但我是否真的必須覆蓋所有預覽方法..防止WPF事件隧道效應
1
A
回答
1
我認爲你可以在Canvas中捕獲事件並將e.Handled設置爲true。
0
我找到了解決辦法。我將路徑對象的IsHitTestVisible屬性設置爲false。現在他們不會放慢表現。
0
不復活舊的問題,但如果有例如按鈕而不是路徑,將IsHitTestVisible設置爲true將會不太合適,因爲它有效地防止了Click和其他事件。
在我的情況下,我有一個TabItem與一個PreviewMouseMove事件和一個非常TabItem的按鈕與Click事件沒有觸發。 問題是,如果您在父控件上獲得隧道事件(如PreviewMouseMove),它將在其子控件上「覆蓋」類似的事件。 一個可能的解決方案 - 爲我制定的一個 - 正在挑選不同的冒泡事件,如MouseMove。
簡而言之,冒泡事件傳播到父元素,而隧道事件傳播到子元素;也有直接事件,根本不傳播。
關於這個問題的更多信息here。
相關問題
- 1. 隧道效應cocos2d
- 2. wpf中的路由隧道事件
- 3. WPF按鈕隧道OnClick事件
- 4. 防止隧道與此設置?
- 5. 按鍵事件隧道
- 6. 隧道事件和ContextMenu
- 7. WPF:防止吞嚥Keydown事件Combobox
- 8. 防止冒泡WPF TreeView的SelectedItemChanged事件
- 9. WPF隧道一個Button_Click
- 10. WPF隧道,實際使用?
- 11. WPF如果sizechanged事件不會冒泡,它會隧道嗎?
- 12. 隧道Dockpanel Mousedown事件在WPF中的複選框
- 13. 事件隧道如何在WPF中工作?
- 14. 防止事件
- 15. 等效使用ssh隧道
- 16. 什麼是使用隧道CommandBinding.previewcanexecute事件?
- 17. css防止事件
- 18. C#MYSQL - 「隧道」過去的防火牆
- 19. 防止懸停效應
- 20. WPF隱藏窗口關閉事件防止應用程序終止
- 21. 防止父UIControl響應touchDown事件
- 22. WPF防止事件在控件之外冒泡
- 23. 如何繪製隧道效果?
- 24. 我無法安裝「隧道VMC-插件」,使隧道
- 25. Angular - 防止事件循環?
- 26. Javascript:防止keyUp事件
- 27. 防止關鍵事件
- 28. 防止button_click事件在c#
- 29. jquery點擊事件防止