當我不設置我的面板背景時,我無法獲得鼠標事件。爲什麼這種行爲? 默認情況下,我可以通過將透明背景設置爲null來在面板上獲取鼠標事件。 Background null和Transparent有什麼區別?Wpf面板背景問題
3
A
回答
7
當Background=null
渲染時不會發出任何繪圖命令MILCore,並且它不指望在命中測試控制的整個區域。
當Background=Transparent
,它渲染時發出一個普通的繪圖命令MILCore,它也控制命中測試的整個區域。
Brushes.Transparent
實際上是一個普通的刷子與它的α(不透明度)的信道設置爲零。正因爲如此,在大多數情況下,它就像普通的顏色一樣。如果背景是普通顏色,則會檢測到鼠標點擊,因此它們也會被檢測到Brushes.Transparent
。
這就是說,存在代碼檢測Brushes.Transparent和完全省略繪圖命令優化它帶走了幾個地方。例如,這發生在窗口透明與操作系統的交互中:操作系統沒有被通知任何塗有Brushes.Transparent
的區域是應用程序的一部分,因此單擊它不會執行任何操作。這是通過特殊外殼Brushes.Transparent
爲此目的完成的。
相關問題
- 1. WPF按鈕背景問題
- 2. WPF ToggleButton背景問題
- 3. Django模板背景問題
- 4. datagrid(WPF)中的背景色問題
- 5. Vlc.DotNet WPF視頻背景問題
- 6. WPF中的背景屬性問題
- 7. 背景問題
- 8. 背景問題
- 9. DataGrid標題背景WPF
- 10. 框架7左側面板背景圖像問題
- 11. C渲染面板背景#
- 12. 背景面板在asp.net
- 13. 背景面板Windows窗體
- 14. 半透明面板背景
- 15. 設置背景面板
- 16. ExtJS&Css面板背景的
- 17. 問題獲得背景頁面
- 18. 完成封面背景圖片問題
- 19. AppMobi背景問題
- 20. 背景色問題
- 21. CustomListView背景問題
- 22. cu3er背景問題
- 23. UIAlertView背景問題?
- 24. Css背景問題
- 25. AVPlayer背景問題
- 26. UITableView背景問題
- 27. IE7背景問題
- 28. c背景問題#
- 29. android背景問題
- 30. JTextArea背景問題
是否在MILCore上執行所有渲染? – viky 2009-11-12 09:07:07
MILCore是微軟的WPF本地(非託管)部分的名稱,用於維護渲染數據,通過通道編組它(用於遠程處理)並調用Direct3D執行實際渲染。最準確的說,它是你的顯卡的驅動程序和硬件來完成實際的渲染,如果顯卡無法實現它,則會回退到軟件。視頻卡的驅動程序通過Direct3D定義的接口訪問,Direct3D由WPF的非託管角色「MILCore」調用。 – 2009-11-12 18:44:02
感謝您的一切幫助 – viky 2009-11-13 04:36:08