如何防止WPF触发器在退出时重置原始值

时间:2012-05-19 01:18:14

标签: wpf triggers

我使用触发器选择了鼠标悬停列表视图:

<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,这在此处是不可取的。有没有办法让触发器只设置为输入而不是重置退出?

1 个答案:

答案 0 :(得分:3)

这是EventTriggers的用途:

  

与Trigger不同,EventTrigger没有状态终止的概念,因此一旦引发事件的条件不再为真,该动作将不会撤消。

例如:

<EventTrigger RoutedEvent="MouseEnter">
    <BeginStoryboard>
        <Storyboard>
            <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="IsSelected">
                <DiscreteBooleanKeyFrame KeyTime="0" Value="True" />
            </BooleanAnimationUsingKeyFrames>
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>