WPF 面試題及答案(三)


一 · 路由事件的三種方式/策略(冒泡 直接 隧道)

WPF中的路由事件是沿着VisualTree傳遞的,作用是用來調用應用程序的元素樹上的各種監聽器上的處理程序。

(1)冒泡,這種事件處理方式是從源元素向上級流過去,直到到達根節點即頂層節點,一般為最外層的控件。

(2)直接,這種處理方式是在源上處理,主要用在源元素上處理。通常setter和trigger中有所體現,我個人認為VisualState可視狀態可能也是直接事件處理,也是依賴屬性的狀態改變。和Trigger有一定的重復,但是VisualState是通過生硬的動畫間接實現依賴屬性的改變。

(3)隧道,又稱作Preview事件,和冒泡事件處理方式相反的。元素樹的根位置調用事件處理程序,依次向下直到源元素位置。

隧道事件和冒泡事件一般成對出現。同一事件,執行時首先是隧道事件,然后是冒泡事件。

 二 · Routed Events(路由事件) 與 Commands(命令)

Event 和 Command 是程序內部通信基礎,Routed Events 能夠發起多重控件,並且能有序和用戶溝通。

Commands是.NET Framework 提供的核心構架,來激活和去除高級別任務。

由此衍生的Animation是events的更進一步。讓你能夠以友好互動的方式使用Event架構,來使用多重控件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM