深入探索Items Controls:模板、选择与数据绑定
1. 模板类型概述
在处理控件时,模板起着至关重要的作用,它能帮助我们定制控件的显示效果。对于ContentControl派生类,有两种类型的模板可供使用,具体如下表所示:
| 属性 | 属性类型 | 用途 |
| — | — | — |
| Template | ControlTemplate | 自定义控件“外观”的显示 |
| ContentTemplate | DataTemplate | 自定义内容的显示 |
而对于Items Control,有三种类型的模板,另外还有一种间接适用于ListBox和ComboBox的模板。从视觉树的顶部到底部,这些模板的相关信息如下:
| 属性 | 属性类型 | 用途 |
| — | — | — |
| Template | ControlTemplate | 自定义控件“外观”的显示 |
| ItemsPanel | ItemsPanelTemplate | 指定用于列出项目的Panel |
| ItemContainerStyle | Style | ListBoxItem或ComboBoxItem的样式 |
| ItemTemplate | DataTemplate | 自定义项目本身的显示 |
2. ListBox选择机制
ListBox和ComboBox派生自Selector类,该类定义了两个重要属性:
-SelectedIndex:表示所选项目的索引,如果当前没有选择任何项目,则值为 -1。