我有一个控件,我想在MouseOver
向下移动。不幸的是,当我鼠标悬停时,动画不会运行,但背景会改变颜色。
Toolkit:Dialog
是继承ContentControl
的自定义对话框控件。此外,在最终实现中,我不会使用MouseOver - 目前只是为了便于测试。
<Style x:Key="blah" TargetType="Toolkit:Dialog">
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Toolkit:CanvasControl.Background" Value="White" />
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)" From="0" To="100" Duration="00:00:01.000" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style>
答案 0 :(得分:4)
我认为你必须向RenderTransform提供一个空的TranslateTransform
,因为RenderTransform
中没有任何内容。所以你试图动画一些不存在的东西。只需添加TranslateTransform
,看看是否有效:
<Style x:Key="blah" TargetType="Toolkit:Dialog">
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform/>
</Setter.Value>
</Setter>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Toolkit:CanvasControl.Background" Value="White" />
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.Y)" From="0" To="100" Duration="00:00:01.000" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style>