Eri*_*kTJ 0 wpf listview styles
我希望我的前三项ListView具有特殊风格.我怎样才能实现这一目标?
我试过这个但是item总是为null:
if (tracklistQueue.Items.Count > 0) {
ListViewItem item = (ListViewItem)tracklistQueue.ItemContainerGenerator.ContainerFromIndex(0);
item.Style = (Style)FindResource("StyleName");
}
Run Code Online (Sandbox Code Playgroud)
您可以使用AlternationIndex和AlternationCount属性.
以下示例为前三行设置不同的背景颜色.
将此样式定义添加到UserControl(或Window):
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#FFFF0000" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#FF00FF00" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#FF0000FF" />
</Trigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
将ListView的AlternationCount设置为大于ListView实际可以包含的行数的值:
<ListView AlternationCount="1000" />
Run Code Online (Sandbox Code Playgroud)
参考:
ItemsControl.AlternationCount属性