標籤:
一、系統控制項分類
- FrameworkElement類
- Panel類
- Control類
- ContentControl類
- ItemsControl類
1)FrameworkElement類
派生自UIElement類, UIElement類是Windows 10 中具有可視外觀並處理基本輸入的大多數對象的基類,封裝了鍵盤事件、觸摸事件等一些基礎的UI事件,但是UIElement類沒有公開的建構函式,其作用就是作為FrameworkElement類的基類對UI的基礎操作進行封裝。
FrameworkElement類擴充了UIElement並添加了布局的相關方法,屬性和對資料繫結的支援。所以,所有的控制項都是從FrameworkElement類派生而來。對於直接派生自FrameworkElement類的類來說,該控制項僅僅擁有windows10 控制項的最基本特性。
2)Panel類
派生自FrameworkElement類,為所有Panel元素提供基類。Windows 10 的應用程式中使用Panel元素測量和排列子物件。 Panel類封裝的特性是布局控制項的共性特點,由Panel類派生的控制項都用於布局相關的控制項。
3)Control類
Control類派生自FrameworkElement類,表示使用者介面元素的基類,由ControlTemplate來定義其外觀,ControlTemplate是控制項的模板,由多個元素組成,可以直接由使用者修改和定義。可以通過修改模板對其外觀做較大的修改和定義。
4)ContentControl類
ContentControl派生自Control類,它具有Control類的所有功能特性,表示包含單項內容的控制項。ConcentControl累的最大特點是content屬性,可以是任何類型的變數,如string類型,DataTime類型甚至UIElement類型。當Content類型設定為UIElement時,ContentControl中將顯示UIElement。為其他類型對象時,Contentcontrol對象將顯示該對象的字串表示形式。
5)ItemsControl類
ItemsControl類同樣派生自Control類,表示一個可用於呈現項的集合的控制項。
ItemsControl類本身也是一個清單控制項,可以直接在UI上作為清單控制項來使用,可用於呈現一個固定的項集,或者用於顯示從指向某個對象的資料繫結中擷取的列表。ItemsControl類只封裝了一些列表的基本特性,更進階的特性需要去使用其衍生類別。
Windows10上的系統控制項按照以上五種基類來劃分,可分為以下5個類別:、
1)面板控制項
這類控制項由Panel類派生,包含Canvas、Grid、StackPanel和RelativePanel控制項,這類控制項常用於介面布局
2)內容控制項
這類控制項由ContentControl類派生,提供Content屬性,用於定製控制項的內容,包括Button、RadioButton、HyperlinkButton、CheckBox 和 ScrollViewer控制項。
3)清單控制項
這類控制項由ItemsControl類派生,經常用於顯示資料的集合,包括ListBox、Pivot、ListView 和 GridView控制項。清單控制項最重要的功能是展示列表的資料,其最主要的屬性有:
Items:用於產生控制項內容的集合;
ItemsPanel:定義了控制項的布局的面板;
ItemsSource:產生ItemsControl的內容的集合;
ItemsTemplate:用於顯示每個項的DataTemplate
4)普通控制項
這些控制項直接派生與Control類,包含TextBox、PasswordBox、ProgressBar、ScrollBar、Slider等控制項。
這類控制項的共性特點就是可以自訂或者修改器控制項的資料範本。
5)其他控制項
這類控制項不由Control類派生,而是直接派生於FrameworkElement類,包括TextBlock、Border、Image、MediaElement 和 Popup控制項。
由於這些控制項都派生自最底層的基類,因此實現的功能都非常的基礎。
讀書筆記1: uwp 控制項結構分類