WPF 重要新概念读书笔记(转)
轉自?liandao?http://www.cnblogs.com/liandao/archive/2008/06/19/1226149.html
3.1 邏輯樹和可視樹
邏輯樹--站在控件的角度分析XAML。每個邏輯樹的元素都相當于以前編寫WINFORM 程序時的一個控件,比如 Button 元素 相當于一個 Button 實例。
可視樹--站在視覺效果的角度分析XAML。對每一個控件的各個視覺組成部分進行分析,比如 Button元素 = ButtonChrome + ContentPresenter + TextBox。 Button 元素的視覺效果是由這3個部分效果合成而成的。
至于兩種樹的遍歷輔助類我們根本就不用太過深究,只要知道它們是 .net 提供給 程序員訪問 邏輯元素和可視元素的API 就可以了。
?
3.2 依賴屬性
可以說依賴屬性支撐了整個WPF各種各樣的效果,因為通過依賴屬性可以在元素之間共享屬性,以前訪問別的元素中的屬性需要顯式地編寫代碼,而現在子元素可以自動地集成父元素中定義的依賴屬性,這個過程是自然、自動的,兒子像父親是理所當然的。 依賴屬性制定了信息在WPF 各個元素之間流動共享的規則。
?
3.2.3 屬性值繼承
面向對象繼承之外的另外一種繼承方式有點像javascript 的prototype 繼承實現方式。但是比prototype 繼承有多了些靈活性(復雜性), 它定義了假如有多個提供程序支持時,它們之間的有限級別。
?
3.2.5 附加屬性
附加屬性解決了怎樣在子元素中去繼承父元素中沒有的依賴屬性的問題。
?
3.3 路由事件
路由事件之于事件相當于依賴屬性之于屬性。從此只要知道要處理的事件而不必關心元素結果等細節內容,讓程序員的關注點進一步接近業務邏輯的實現。
?
總結
其實依賴屬性和路由事件的實現方式上有點像javascript 的 prototype 方式, 依賴屬性和路由事件 首先要定義一個相對于類的 static 成員,這相當于 javascript 中把要被繼承的屬性或函數放在相對于整個類的 prototype 上。不同之處在于WPF 不用像javascript 那樣通過指定prototype 來定義依賴屬性和路由事件的繼承關系。依賴屬性和路由事件的繼承關系是由 XML 的層次關系來定義的。
轉載于:https://www.cnblogs.com/zhxm/archive/2012/07/31/2616466.html
總結
以上是生活随笔為你收集整理的WPF 重要新概念读书笔记(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创建可按比例调整的布局的 Windows
- 下一篇: silverlight之ToolTipS