MouseHoverではなく、にトリガーを設定する方法があるかどうか疑問に思いましたMouseOver。
ユーザーがマウスオーバーを通過するだけでなく、指定した領域にマウスをX秒間置いたときに、アクションが発生するようにしたいと思います。
MouseHoverではなく、にトリガーを設定する方法があるかどうか疑問に思いましたMouseOver。
ユーザーがマウスオーバーを通過するだけでなく、指定した領域にマウスをX秒間置いたときに、アクションが発生するようにしたいと思います。
X 秒後にIsMouseOverトリガーを開始するには、Storybard を使用してプロパティを設定できる必要がありますBeginTime。Buttonこれは、マウスが 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>