ItemsPanelTemplate - zLulus/My_Note GitHub Wiki

用以定义集合控件的容器外观,如ListBox,Combox 等等
使用一个自定义的ListBox用以说明,其默认外观是上下排列,这里修改成横向排列

<Window.Resources>
	<DataTemplate x:Key="PersonDataTemplate">
		<Grid>
			<Grid.RowDefinitions>
				<RowDefinition Height="*"></RowDefinition>
				<RowDefinition Height="*"></RowDefinition>
			</Grid.RowDefinitions>
			<Grid.ColumnDefinitions>
				<ColumnDefinition Width="*"></ColumnDefinition>
				<ColumnDefinition Width="*"></ColumnDefinition>
			</Grid.ColumnDefinitions>
			<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Name}"></TextBlock>
			<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Age}"></TextBlock>
			<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding Hometown}"></TextBlock>
		</Grid>
	</DataTemplate>
	<ItemsPanelTemplate x:Key="PersonItemsPanelTemplate">
		<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"></StackPanel>
	</ItemsPanelTemplate>
</Window.Resources>
<Grid>
	<ListBox ItemsSource="{Binding}" ItemTemplate="{StaticResource PersonDataTemplate}" ItemsPanel="{StaticResource PersonItemsPanelTemplate}"></ListBox>
</Grid>

定义一个ItemsPanelTemplate,设置方向为Horizontal
在ListBox中指定ItemsPanel

效果

1
常见的条目控件有:ListBox,Menu,StatusBar等(默认纵向排列)

示例代码

https://github.com/zLulus/NotePractice/tree/dev3/WPF/WpfDemo/Template/ItemsPanelTemplate

⚠️ **GitHub.com Fallback** ⚠️