0
我想知道是否有辦法在MouseHover
上設置觸發器,而不是MouseOver
。在MouseHover上觸發?
我想要一個動作發生,當用戶將鼠標停留在指定區域的X秒,而不是當他們只是MouseOver它通過。
我想知道是否有辦法在MouseHover
上設置觸發器,而不是MouseOver
。在MouseHover上觸發?
我想要一個動作發生,當用戶將鼠標停留在指定區域的X秒,而不是當他們只是MouseOver它通過。
要使IsMouseOver
觸發器在X秒後開始,您應該可以使用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>
一些簡單的工具提示(對於該時間是可配置)動畫部件,或做你真正需要做的事情,需要一個實際的行動和/或觸發器? – 2011-01-19 19:04:41
@Wonko:我想在鼠標懸停X秒的時候放大控件。我希望剩下的控件根據Resized控件的大小來調整大小,所以我不能將調整大小的控件放在ToolTip中。儘管我可能能夠用ToolTip做一些事情,但沒有想到這一點。 – Rachel 2011-01-19 19:49:25