WPF ListView多个ItemContainerStyles
这是我的WPF ListView,运行良好WPF ListView多个ItemContainerStyles,wpf,itemcontainerstyle,Wpf,Itemcontainerstyle,这是我的WPF ListView,运行良好 <Window.Resources> <Style x:Key="ItemContStyle" TargetType="{x:Type ListViewItem}"> <Style.Resources> <SolidColorBrush x:Key="Key1" Color="#f7fcfe" /> <SolidColorBrush x:Key="Key2"
<Window.Resources>
<Style x:Key="ItemContStyle" TargetType="{x:Type ListViewItem}">
<Style.Resources>
<SolidColorBrush x:Key="Key1" Color="#f7fcfe" />
<SolidColorBrush x:Key="Key2" Color="#fff1cf" />
<SolidColorBrush x:Key="Key3" Color="#fdeff2" />
</Style.Resources>
</Style></Window.Resources>
<ListView
Name="UserLst" Width="320"
ItemContainerStyle="{StaticResource ItemContStyle}">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style>
<Setter Property="UIElement.Visibility" Value="Collapsed" />
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn Header="id" Width="100" DisplayMemberBinding="{Binding Path=_id}"/>
<GridViewColumn Header="UserID" Width="200" DisplayMemberBinding="{Binding Path=_UserID}"/>
</GridView>
</ListView.View>
在ListView代码中。
我一直在想是否有人能给我点启示 您可以使用继承上述样式:
<ListView Name="UserLst" Width="320">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem" BasedOn="{StaticResource ItemContStyle}">
<EventSetter Event="PreviewMouseLeftButtonDown"
Handler="ListViewItem_PreviewMouseLeftButtonDown" />
</Style>
</ListView.ItemContainerStyle>
......
</ListView>
......
通过这种方式,您将从上述样式中获得setter和触发器,并且您可以提供自己的以及特定于ListView的。(就像您案例中的EventSetter)这非常有效!我非常感谢你的快速回复和明确的解决方案。非常感谢你!
ItemContainerStyle="{StaticResource ItemContStyle}"
<ListView Name="UserLst" Width="320">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem" BasedOn="{StaticResource ItemContStyle}">
<EventSetter Event="PreviewMouseLeftButtonDown"
Handler="ListViewItem_PreviewMouseLeftButtonDown" />
</Style>
</ListView.ItemContainerStyle>
......
</ListView>