WPF快速指導8:WPF基元素類
本文摘要:
1:什麼是基元素類;
2:基元素類的使用;
3:其它重要基類
1:什麼是基元素類
WPF中的大部分類都是從 SDK 文檔中通常稱為基元素類的四個類派生而來。這些類包括
UIElement 、 FrameworkElement ContentElement 和 FrameworkContentElement 。 DependencyObject 也相關,因為它是 的公共基類。 用作 的基類,的基類。
某些
類要用作内容宿主:這些類為一個或多個 類( DocumentViewer 就是此類的一個示例)提供承載和呈現。 用作以下元素的基類:所具有的對象模型稍小,并且更多地用于對中可能承載的文本、資訊或文檔内容進行尋址。
2:基元素類的使用
如果您要實作控件,您可能需要從以下類中派生:實際控件、控件系列基類或至少是
Control基類。
如果您建立從
派生的類,則将繼承以下功能:派生的類,則除了能夠繼承
提供的功能外,還将繼承以下功能:
- 對樣式設定和示範圖闆的支援。有關更多資訊,請參見 Style 示範圖闆概述
- 對資料綁定的支援。有關更多資訊,請參見 資料綁定概述
- 對動态資源引用的支援。有關更多資訊,請參見 資源概述
- 對屬性值繼承以及中繼資料中有助于向架構服務報告屬性的相關情況(如資料綁定、樣式或布局的架構實作)的其他标志的支援。有關更多資訊,請參見 架構屬性中繼資料
- 邏輯樹的概念。有關更多資訊,請參見 WPF 中的樹
- 對布局系統的實際 WPF 架構級實作的支援,包括 OnPropertyChanged 重寫(該重寫可以檢測到影響布局的屬性更改)。
提供的功能外,還将獲得以下功能:
- 對屬性值繼承以及中繼資料中有助于向架構服務報告屬性情況(如資料綁定、樣式或布局的架構實作)的其他标志的支援。有關更多資訊,請參見
- 您不會繼承對布局系統修改(如 ArrangeOverride )的通路權限。布局系統實作隻在 上提供。但是,您會繼承 重寫(可以檢測影響布局的屬性更改并将這些更改報告給任何内容宿主)。
DispatcherObject
為 WPF 線程模型提供支援,并允許為 WPF 應用程式建立的所有對象與
Dispatcher相關聯。即使不從
或
Visual派生,也應考慮從
派生,以獲得對線程模型的這種支援。有關更多資訊,請參見
線程處理模型實作二維對象在近似矩形的區域中通常需要具有可視化表示的概念。
的實際呈現發生在其他類中(不是獨立的),但
類提供一個由呈現過程在多種級别使用的已知類型。
實作命中測試,但它不公開報告命中測試陽性結果(這些結果位于
中)的事件。有關更多資訊,請參見
可視化層程式設計Freezable
通過在出于性能原因需要不可變對象時提供為對象生成副本的途徑,來模拟可變對象的不變性。
類型為某些圖形元素(如幾何形狀、畫筆以及動畫)提供了一個通用的基礎。值得注意的是,
不是一個
;當應用
以填充另一個對象的屬性值時,它包含的屬性将變成子屬性,而這些子屬性可能會影響呈現。有關更多資訊,請參見
Freezable 對象概述 Animatable是一個
派生類,它特别添加了動畫控件層和某些實用工具成員,進而使目前動畫的屬性可以與未動畫的屬性區分開。
控件
是稱為控件或元件(取決于技術)的對象類型的理想基類。一般而言,WPF 控件類是直接表示 UI 控件或積極參與控件組合的類。
實作的主要功能是控件模闆化。
TMJ .NET教育訓練,開創 200元/月,學到會!NET C# 入門級 | .NET C# 專業級 | .NET 架構級 | BS系統專業級 | BS系統安全 |
1.開篇及C#程式、解決方案的結構 2.源碼管理之TFS入門 3.打老鼠初級 …… 21.CMS之主要功能實作 22.程序和線程基礎 23.類型轉換 24.算法基礎 25.初級課程之剩餘知識點 | 1.消滅打老鼠遊戲中的自定義委托 2.垃圾回收 3.Dispose模式 16.異常使用指導 17.最常用的重構指導 18.Debug和IDE的進階 19.Resharper的使用 20.ILSPY的使用 | 1.Socket入門 2.打造打老鼠遊戲網絡版 3.WCF入門 10.依賴注入 11.萬物兼可測試 12.軟體名額之覆寫率計算 13.軟體名額之代碼行 14.軟體名額之圈複雜度、嵌套深度 | 1.HTML 2.WebForm原理 3.CSS必知必會 19.讓浏覽器緩存Shop 20.Asp.net的生命周期 21.Asp.net網站的釋出以及調試晉級 22.BS程式的本質 23.壓力測試我們的Shop | 1.Fiddler必知必會 2.IE開發者工具必知必會 3.跨站腳本防範 4.權限欺騙防範 5.參數越界防範 6.會話劫持防範 7.CSRF防範 8.盜鍊防範 9.靜态檔案的保護 |
将本文分享到:
QQ空間 新浪微網誌 人人網 開心網 搜狐微網誌 MSN 谷歌 更多将本文分享到:
本文基于
Creative Commons Attribution 2.5 China Mainland License釋出,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名
http://www.cnblogs.com/luminji(包含連結)。如您有任何疑問或者授權方面的協商,請給我留言。