0

MouseHoverではなく、にトリガーを設定する方法があるかどうか疑問に思いましたMouseOver

ユーザーがマウスオーバーを通過するだけでなく、指定した領域にマウスをX秒間置いたときに、アクションが発生するようにしたいと思います。

4

1 に答える 1

1

X 秒後にIsMouseOverトリガーを開始するには、Storybard を使用してプロパティを設定できる必要がありますBeginTimeButtonこれは、マウスが 2 秒間ホバーしているときにサイズが 50% 増加する の例です。
に設定できるアニメーション部分をスキップするにDuration="0"DoubleAnimation

<Button Content="Button"
        Height="23"
        Width="75"
        RenderTransformOrigin="0.5 0.5">
    <Button.RenderTransform>
        <ScaleTransform />
    </Button.RenderTransform>
    <Button.Style>
        <Style TargetType="Button">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Trigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard BeginTime="00:00:02">
                                <DoubleAnimation Storyboard.TargetProperty="(Button.RenderTransform).(ScaleTransform.ScaleX)" To="1.5"/>
                                <DoubleAnimation Storyboard.TargetProperty="(Button.RenderTransform).(ScaleTransform.ScaleY)" To="1.5"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                    <Trigger.ExitActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="(Button.RenderTransform).(ScaleTransform.ScaleX)" To="1.0"/>
                                <DoubleAnimation Storyboard.TargetProperty="(Button.RenderTransform).(ScaleTransform.ScaleY)" To="1.0"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.ExitActions>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>
于 2011-01-19T21:42:05.763 に答える