我有一个列表视图,该列表视图的样式和样式是我想要的。现在,我只是尝试向其添加列标题,但这似乎比我想象的要难。是否有必要在此xaml模型中添加某种数据网格以获取列标题,还是可以添加一些非常基本的东西?
<ListView ItemsSource="{Binding PlayerOC, Mode=TwoWay}" AlternationCount="2">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="_Border"
Padding="0"
SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#19f39611"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#19000000"></Setter>
</Trigger>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="_Border" Property="Background" Value="White"/>
<Setter TargetName="_Border" Property="Padding" Value="1"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontWeight" Value="Bold"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate >
<DataTemplate>
<StackPanel Orientation="Horizontal" Background="{Binding RowColor}" >
<TextBlock Text="{Binding PlayerNumber}" Padding="5" Width="50" />
<TextBlock Text="{Binding PlayerName}" Padding="5" Width="200" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
答案 0 :(得分:1)
这是将列添加到ListView的通常方法:
<ListView ItemsSource="{Binding Data}" BorderBrush="Gray" BorderThickness="1" Margin="5">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Id}" Header="Id"/>
<GridViewColumn DisplayMemberBinding="{Binding Name}" Header="Name"/>
</GridView>
</ListView.View>
</ListView>