WPF and Silverlight 学习笔记(十):WPF控件模型
WPF对控件其类型的继承方式如下
(其中绿色表示的类是抽象类,蓝色表示的类是非抽象类)
- 控件内容模型
System.Windows.Controls.Control类:表示 用户界面 (UI) 元素的基类,这些元素使用ControlTemplate来定义其外观- ContentControl:ContentControl 是一种包含一段内容的 Control
说明 | ContentControl 是一种包含一段内容的 Control。 |
内容属性 | Content |
内容模型信息 | 控件内容模型概述 |
属于此类型系列的类型 | Button, ButtonBase, CheckBox, ComboBoxItem, ContentControl, Frame, GridViewColumnHeader, GroupItem, Label, ListBoxItem, ListViewItem, NavigationWindow, RadioButton, RepeatButton, ScrollViewer, StatusBarItem, ToggleButton, ToolTip, UserControl, Window |
可包含 ContentControl 类型的类型 | ContentControl 类、HeaderedContentControl 类、ItemsControl 类、HeaderedItemsControl 类、Panel 类、Decorator 类和 Adorner 类 |
子类别 | HeaderedContentControl 类 |
- HeaderedContentControl:包含一段内容并具有 Header 的 ContentControl
说明 | HeaderedContentControl 是一种包含一段内容并具有 Header 的 ContentControl。 |
内容属性 | Content, Header |
内容模型信息 | 控件内容模型概述 |
属于此类型系列的类型 | Expander, GroupBox, HeaderedContentControl, TabItem |
可包含 HeaderedContentControl 类型的类型 | ContentControl 类、HeaderedContentControl 类、ItemsControl 类、HeaderedItemsControl 类、Panel 类、Decorator 类和 Adorner 类 |
- ItemsControl:可包含多个项目(例如字符串、对象或其他元素)的 Control
说明 | ItemsControl 是一种可包含多个项目(例如字符串、对象或其他元素)的 Control。 |
内容属性 | Items, ItemsSource |
主内容类型 | 多个项目,可以是字符串、对象或其他元素。 |
内容模型信息 | 控件内容模型概述 |
属于此类型系列的类型 | Menu, MenuBase, ContextMenu, ComboBox, ItemsControl, ListBox, ListView, TabControl, TreeView, Selector, StatusBar |
可包含 ItemsControl 类型的类型 | ContentControl 类、HeaderedContentControl 类、ItemsControl 类、HeaderedItemsControl 类、Panel 类、Decorator 类和 Adorner 类 |
子类别 | HeaderedItemsControl 类 |
- HeaderedItemsControl:可包含多个项目(例如字符串、对象或其他元素)并具有标题的ItemsControl
说明 | HeaderedItemsControl 是一种 ItemsControl,可包含多个项目(例如字符串、对象或其他元素)并具有标题。 |
内容属性 | Header, Items, ItemsSource |
内容模型信息 | 控件内容模型概述 |
属于此类型系列的类型 | HeaderedItemsControl, MenuItem, TreeViewItem, ToolBar |
可包含 HeaderedItemsControl 类型的类型 | 通常,MenuItem 对象用作 Menu 元素的子元素;TreeViewItem 对象用作 TreeView 元素的子元素;ToolBar 对象用作 ToolBarTray 的子元素。 |
- Panel内容模型
System.Windows.Controls.Panel抽象类:为所有 Panel 元素提供基类。使用 Panel 元素在 Windows Presentation Foundation (WPF) 应用程序中放置和排列子对象。
Panel 是一种 FrameworkElement,它用于定位和排列子对象。 | |
内容属性 | Children |
主内容类型 | 一个或多个 UIElement 对象。 |
内容模型信息 | Panel 内容模型概述 |
属于此类型系列的类型 | Canvas, DockPanel, Grid, TabPanel, ToolBarOverflowPanel, StackPanel, ToolBarPanel, UniformGrid, VirtualizingPanel, VirtualizingStackPanel, WrapPanel |
可包含 Panel 类型的类型 | ContentControl 类、HeaderedContentControl 类、ItemsControl 类、HeaderedItemsControl 类、Panel 类、Decorator 类和 Adorner 类 |
- Sharp模型
System.Windows.Sharps.Sharp抽象类:为 Ellipse、Polygon 和 Rectangle 之类的形状元素提供基类 - Decorator模型
System.Windows.Controls.Decorator类:提供在单个子元素(如 Border 或 Viewbox)上或周围应用效果的元素的基类
说明 | Decorator 是一种 FrameworkElement,它将效果应用于单一子 UIElement 之上或周围。 |
内容属性 | Child |
主内容类型 | 单一 UIElement |
内容模型信息 | Decorator 内容模型概述 |
属于此类型系列的类型 | ButtonChrome, ClassicBorderDecorator, ListBoxChrome, SystemDropShadowChrome, Border, InkPresenter, BulletDecorator, Viewbox, AdornerDecorator |
可包含 Decorator 类型的类型 | ContentControl 类、HeaderedContentControl 类、ItemsControl 类、HeaderedItemsControl 类、Panel 类、Decorator 类和 Adorner 类 |
- TextBox和TextBlock