博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF : ListBox的几种Template属性
阅读量:5070 次
发布时间:2019-06-12

本文共 2133 字,大约阅读时间需要 7 分钟。

原文:

属性名 属性的类名 功能 示例
Template ControlTemplate 定义控件自身的外观.
其子元素的布局可以自定义,也可以由ItemsPresenter定义.
<Style TargetType="ListBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<Border>
<ScrollViewer>
<StackPanel IsItemsHost="True"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
IsItemsHost=true表示子元素将显示在此容器中.此处StackPanel也可以用<ItemsPresenter/>代替.
ItemsPanel ItemsPanelTemplate 定义子元素的布局, 其内容为StackPanel, Grid, WrapPanel, DockPanel等布局容器.
ItemsPresenter会创建该属性指定的布局容器
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"  VerticalAlignment="Center" HorizontalAlignment="Center"/> </ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
ItemTemplate DataTemplate 定义每个子元素的外观.
这个值会拷贝给ListBoxItem的ContentTemplate属性
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" /> <TextBlock Text="{Binding Path=Description}"/> <TextBlock Text="{Binding Path=Priority}"/> </StackPanel>
</DataTemplate>
</ListBox.ItemTemplate> </ListBox>

 

一起使用:

<Style TargetType="{x:Type ListBox}">

<!-- 定义每个子元素的外观, 显示每个子元素的数据 -->
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/> </StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>

<!-- 定义子元素的布局容器, 比如:横向,纵向 -->

<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<!-- 定义ListBox自身外观, 比如: 圆角边框-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<ItemsPresenter/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>

</Style>

posted on
2019-04-16 00:09 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/10714293.html

你可能感兴趣的文章
centos redis 安装过程,解决办法
查看>>
IOS小技巧整理
查看>>
WebDriverExtensionsByC#
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
sublime 配置java运行环境
查看>>
在centos上开关tomcat
查看>>
重启rabbitmq服务
查看>>
正则表达式(进阶篇)
查看>>
无人值守安装linux系统
查看>>
【传道】中国首部淘宝卖家演讲公开课:农业本该如此
查看>>
jQuery应用 代码片段
查看>>
MVC+Servlet+mysql+jsp读取数据库信息
查看>>
黑马程序员——2 注释
查看>>
用OGRE1.74搭建游戏框架(三)--加入人物控制和场景
查看>>
转化课-计算机基础及上网过程
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
互联网模式下我们更加应该“专注”
查看>>
myeclipse集成jdk、tomcat8、maven、svn
查看>>