2

トリガーを使用してマウスオーバー選択リストビューを持っています:

<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 に戻りますが、これは望ましくありません。トリガーを入力時にのみ設定し、終了時にリセットしないようにする方法はありますか?

4

1 に答える 1

3

これがEventTriggersの目的です。

Triggerとは異なり、EventTriggerには状態の終了の概念がないため、イベントを発生させた条件が真でなくなると、アクションは元に戻されません。

あなたの場合、例えば:

<EventTrigger RoutedEvent="MouseEnter">
    <BeginStoryboard>
        <Storyboard>
            <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="IsSelected">
                <DiscreteBooleanKeyFrame KeyTime="0" Value="True" />
            </BooleanAnimationUsingKeyFrames>
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>
于 2012-05-19T23:43:06.890 に答える