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

原文地址:https://www.cnblogs.com/Lulus/p/8157714.html

时间: 2024-10-12 19:05:51

ItemsPanelTemplate的相关文章

ItemsPanelTemplate的用法

项目里想用Silverlight制作工具栏,之前用的是Image和TextBlock完成的,但是代码混乱,在后来版本中突然想到ListBox可以实现这样的效果.使用后效果确实不错.下面是我的笔记 1 <!-- 2 注意点 3 (1)ItemsPanel中ItemsPanelTemplate模板 指定用于项的布局的面板. 4 这个很重要,用来设置ListBox.ItemTemplate中DataTemplate中的StackPanel排列样式. 5 它不光能控制StackPancel的排列样式,还

ControlTemplate,ItemsPanelTemplate,DataTemplate(wpf)

在WPF中有三大模板ControlTemplate,ItemsPanelTemplate,DataTemplate.其中ControlTemplate和ItemsPanelTemplate是控件模板,DataTemplate是数据模板,他们都派生自FrameworkTemplate抽象类. 1.ControlTemplate ControlTemplate:控件模板主要有两个重要属性:VisualTree内容属性和Triggers触发器.所谓VisualTree(视觉树),就是呈现我们所画的控件

WPF布局间的切换方法

效果图,两种效果间的切换 xaml: <StackPanel> <Button Content="wrap布局" Click="Button_Click" Width="100"></Button> <Button Content="stack布局" Click="Button_Click_1" Width="100"></Butto

WPF ItemsControl ListBox ListView比较

在进行列表信息展示时,WPF中提供多种列表可供选择.这篇博客将对WPF ItemsControl, ListBox, ListView进行比较. 相同点: 1. 这三个控件都是列表型控件,可以进行列表绑定(ItemsSource): 2. 这三个控件均使用ItemsPresenter来展示列表信息: 不同点: 控件层次关系: ItemsControl: System.Object  System.Windows.Threading.DispatcherObject System.Windows.

WPF ListView展示层叠信息

通常我们在ListView中展示一列同类数据,例如城市名称.不过可以对ListView的DataTemplate稍作修改,让其显示层叠信息.例如:需要在ListView中显示省份和省份对应的城市名称.首先准备基础类, City类: public class City : ViewModeBase { private string _name; public string Name { get { return _name; } set { if (_name != value) { _name

【UWP通用应用开发】控件、应用栏

控件的属性.事件与样式资源 怎样加入控件 加入控件的方式有多种,大家更喜欢以下哪一种呢? 1)使用诸如Blend for Visual Studio或Microsoft Visual Studio XAML设计器的设计工具. 2)在Visual Studio XAML编辑器中将控件加入到XAML代码中. 3)在代码中加入控件. 注意:当应用执行时会看到你在代码中加入的控件,但在 Visual Studio XAML 设计器中看不到. 前面我们通过在工具箱拖住控件以及直接在写XAML代码来设置控件

WPF ListBox 中使用网格布局

<Grid> <ListBox Height="181" HorizontalAlignment="Left" Margin="12,12,0,0" Name="listBox1" VerticalAlignment="Top" Width="687" UseLayoutRounding="False" Panel.ZIndex="2&qu

WPF Telerik TreeListView样式设计

Telerik控件 TreeListView 修改其中样式 1.添加TreeListView控件 <telerik:RadTreeView x:Name="ObjecTreeView" Padding="0,5,0.5,5" Grid.Row="1" BorderThickness="0" ScrollViewer.HorizontalScrollBarVisibility="Disabled" te

UWP开发入门(五)——自定义Panel

各位好,终于讲到自定义Panel了.当系统自带的几个Panel比如Gird,StackPanel,RelativePanel不能满足我们的特定要求时(其实不常见啦),自定义Panel就显得非常必要,而且因为是针对性的处理,效果也会非常好.更何况自定义Panel其实并不复杂,今天俺们就来学习一下. 记得上一篇自定义CommandBar在增加占位控件AppBarEmpty时,采用的是通过Page的SizeChanged事件中计算页面Width,减去CommandBar中其他控件Width后再赋值Wi