В моем приложении у меня есть ListView, и мне нужны некоторые Style.Triggers.Я использую пользовательский ItemTemplate, так что у меня есть значок рядом с текстом.Странно то, что триггеры не работают, когда я не использую ListView.View.
Когда я (по причинам отладки использую ListView.View, он работает отлично. Любые предложения о том, как обойти это? Я пытался установить фон на DataTemplate, но я не думаю, что это правильное решение, как мне нужнобольше триггеров, таких как IsMouseOver.
Триггеры не работают:
<ListView ItemsSource="{Binding SecondaryTabs}"
BorderThickness="0"
Background="Transparent"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.CanContentScroll="False"
SelectedIndex="{Binding SelectedSecondaryTabIndex}"
ItemTemplate="{StaticResource SidePaneListViewTemplate}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<i:InvokeCommandAction Command="{Binding Path=SelectedChildTabChangedCommand, Mode=OneWay}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="Control.IsMouseOver"
Value="True">
<Setter Property="Control.Background"
Value="Green" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView>
Триггеры работают:
<ListView ItemsSource="{Binding SecondaryTabs}"
BorderThickness="0"
Background="Transparent"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.CanContentScroll="False"
SelectedIndex="{Binding SelectedSecondaryTabIndex}"
ItemTemplate="{StaticResource SidePaneListViewTemplate}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<i:InvokeCommandAction Command="{Binding Path=SelectedChildTabChangedCommand, Mode=OneWay}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="Control.IsMouseOver"
Value="True">
<Setter Property="Control.Background"
Value="Green" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="Date"
Width="115"
DisplayMemberBinding="{Binding Date, StringFormat='{}{0:dd/MM/yyyy-HH:mm}'}" />
<GridViewColumn Header="Amount"
Width="40"
DisplayMemberBinding="{Binding Amount}" />
<GridViewColumn Header="Method"
Width="70" />
<GridViewColumn Header="User"
Width="80"
DisplayMemberBinding="{Binding User.UserName}" />
</GridView>
</ListView.View>
</ListView>
Есть идеи, почему это происходит?