项面板模板ltemsPanelTemplate与三种模板总结
一、ltemsPanelTemplate
1.概述
ltemsPanelTemplate类是用于定义项控件(ItemsControl)的布局面板的一种模板,它允许开发人员自定义如何排列和呈现项控件中的子项。
官方文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.controls.itemspaneltemplate?view=netframework-4.8
2. ItemsControl类
ItemsControl类是列表ListBox、下拉框ComboBox、菜单、网格DataGrid等一系列选项的基类,部分属性如下:
属性 | 说 明 |
---|---|
ltemsSource | 获取或设置用于生成 ltemsControl 的内容的集合。 设置ltemsSource属性后,集合ltems是只读且固定大小的,因此不可修改。 |
ltems | 获取用于生成 ltemsControl 的内容的集合。 |
DisplayMemberPath | 获取或设置源对象上的值的路径,以用作对象的可视表示形式,不能同时设置 DisplayMemberPath 和ltemTemplate. |
ItemTemplate | 获取或设置用来显示每个项的数据模板DataTemplate。 |
ltemContainerStyle | 获取或设置应用于为每个项生成的容器元素的 Style。 |
ltemsPanel | 获取或设置模板(ltemsPanelTemplate类型),该模板定义对项的布局进行控制的面板。 |
3. 示例
<Grid>
<!--ItemsControl类的 ItemsPanel 属性是ItemsPanelTemplate类型-->
<ListBox Margin="175,83,230,125">
<!--使用ItemsPanel和布局-->
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<system:String>编程</system:String>
<ContentControl>音乐</ContentControl>
<ListViewItem>篮球</ListViewItem>
</ListBox>
</Grid>
二、三种模板总结
官方文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.frameworktemplate?view=netframework-4.8