我使用触发器选择了鼠标悬停列表视图:
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="IsSelected" Value="True" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
但是当移出鼠标时,触发器会将IsSelected
设置为false,这在此处是不可取的。有没有办法让触发器只设置为输入而不是重置退出?
答案 0 :(得分:3)
这是EventTriggers的用途:
与Trigger不同,EventTrigger没有状态终止的概念,因此一旦引发事件的条件不再为真,该动作将不会撤消。
例如:
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="IsSelected">
<DiscreteBooleanKeyFrame KeyTime="0" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>