WPF的控制項是基於System.Windows.Controls.Control類別所泛生出來的子類別,接下來先介紹Control類別的繼承階層架構:
- ContentControl
- Frame
- GroupItem
- HeaderedContentControl
- Label
- ListBoxItem
- ButtonBase(抽象類別)[System.Windows.Controls.Primitives]
- StatusBarItem[System.Windows.Controls.Primitives]
- ScrollViewer
- ToolTip
- UserControl
- Window
- FlowDocumentReader
- FlowDocumentScrollViewer
- ItemsControl
- HeaderedItemsControl
- MenuBase(抽象類別)
- Selector(抽象類別)
- StatusBar
- TreeView
- PasswordBox
- DocumentViewerBase(抽象類別)[System.Windows.Controls.Primitives]
- RangeBase(抽象類別)[System.Windows.Controls.Primitives]
- ResizeGrip[System.Windows.Controls.Primitives]
- TextBoxBase(抽象類別)[System.Windows.Controls.Primitives]
- Thumb[System.Windows.Controls.Primitives]
- Separator
- StickyNoteControl
非常壯觀的類別繼承架構,但是別恐慌!注意到兩個重要類別:ContentControl類別與ItemsControl類別。ContentControl是表示內含單一內容片段(single piece of content)的控制項,換句話說,ContentControl的XAML子節點只能有一個元素,這個元素代表的是ContentControl的內容(Content屬性)。相對的,ItemsControl的XAML子節點可以有多個元素,這多個元素是存放於ItemsControl的集合(Items屬性)之中。
另外,ContentControl類別與ItemsControl類別的控制項加入標頭(Header)外觀的子類別也很常使用到,分別是HeaderedContentControl 類別和HeaderedItemsControl 類別。
最後提及一下命名空間(Namespace),控制項的命名空間主要有兩個:System.Windows.Controls和System.Windows.Controls.Primitives,其中Primitives的類別是屬於基底類別 (Base Class)的定義,主要做為其他更複雜控制項(泛生類別)的一部分,前述階層架構中的[System.Windows.Controls.Primitives]代表此類別屬於Primitives命名空間之中。
MSDN參考連結:控制項概觀http://msdn.microsoft.com/zh-tw/library/ms752069%28v=VS.90%29.aspx
###
另外,ContentControl類別與ItemsControl類別的控制項加入標頭(Header)外觀的子類別也很常使用到,分別是HeaderedContentControl 類別和HeaderedItemsControl 類別。
最後提及一下命名空間(Namespace),控制項的命名空間主要有兩個:System.Windows.Controls和System.Windows.Controls.Primitives,其中Primitives的類別是屬於基底類別 (Base Class)的定義,主要做為其他更複雜控制項(泛生類別)的一部分,前述階層架構中的[System.Windows.Controls.Primitives]代表此類別屬於Primitives命名空間之中。
MSDN參考連結:控制項概觀http://msdn.microsoft.com/zh-tw/library/ms752069%28v=VS.90%29.aspx
###
沒有留言:
張貼留言