用途:说明 WPF 控件按内容承载方式划分的四种主要模型,帮助在为自定义控件选择基类时做出判断。
主要能力:
- 内容模型层级:Control 下分 ContentControl(单一内容)与 ItemsControl(多项内容),各自再派生 HeaderedContentControl(内容+标题)与 HeaderedItemsControl(多项+标题)。
- ContentControl:单一 Content 属性,类型为 object,可用 ContentTemplate 指定渲染方式;示例包括 Button、Label、CheckBox、Window、UserControl 等。
- ItemsControl:Items 集合、ItemsSource 数据绑定、ItemTemplate 与 ItemsPanel;示例包括 ListBox、ComboBox、TreeView、Menu、TabControl 等。
- HeaderedContentControl:Header 与 Content 两个区域,代表控件有 GroupBox、Expander、TabItem。
- HeaderedItemsControl:Header 加多项,适合层级结构,代表控件有 TreeViewItem、MenuItem、ToolBar,可配合 HierarchicalDataTemplate。
使用方式:文中给出 XAML 用法(如 Button 的 Content、ListBox 的 ItemsSource 与 ItemTemplate、ItemsPanel 自定义、虚拟化面板)以及 C# 派生控件写法,包括重写 DefaultStyleKeyProperty.OverrideMetadata、注册依赖属性、重写 GetContainerForItemOverride 与 IsItemItsOwnContainerOverride。
适用场景:为自定义控件选择基类、理解内容渲染流程、实现列表与层级数据展示。
限制:资料未提供安装命令、收费信息或平台要求;具体 API 行为以官方文档为准。