ItemsPanelTemplate

Posted Lulus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ItemsPanelTemplate相关的知识,希望对你有一定的参考价值。

用以定义集合控件的容器外观,如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

效果

 

 
技术分享图片


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

 

示例代码

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




以上是关于ItemsPanelTemplate的主要内容,如果未能解决你的问题,请参考以下文章

如何访问 ItemsPanelTemplate 中的 ItemsWrapGrid 面板?

ItemsPanelTemplate 中的模板绑定

ItemsPanelTemplate

WPF 详解模板

WPF模板应用

WPF Datagrid横向排列