ListView样式
ListView的模板可以分为三个部分:标题栏部分,内容项和滚动条。其中,滚动条不一定一直可见。默认情况下,滚动条的可见性为Auto。也就是说,只有列表中的项多到容器中装不下时,才会在右侧或者下部自动显示出滚动条来,供用户查看容器范围外的项。这里,我们编写的模板设置了不显示水平滚动条,也就是说只有垂直方向的项多出来才会在列表右侧增加滚动条。这也是一般列表最常见的滚动条形式。在这个样式中,滚动条不需要自己写,系统会自动为你应用默认的滚动条。
此外,当我们想要改变一个列表的外观时,通常不需要把整个列表模板重写。需要编写的部分主要为ItemContainerStyle列表项容器和GridViewColumnHeader标题容器。为了美观,可以将项的背景颜色设置为各行为不同颜色。点击选中时,被选中的项内容文字放大,背景变成鲜明的橙色。上述样式在ItemContainerStyle中修改。代码如下所示:
<Style x:Key="listview" TargetType="{x:Type ListView}">
<Setter Property="TextBlock.TextAlignment" Value="Center"/>
<Setter Property="Margin" Value="5"/>
<Setter Property="Background" Value="transparent"/>
<Setter Property="Foreground" Value="#FF282828"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="SelectionMode" Value="Single"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="True"/>
<Setter Property="AlternationCount" Value="2"/>
<!--ListViewItem模板-->
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Height" Value="60"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Background" Value="#fff"/>
<Setter Property="BorderBrush" Value="transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border