2

我有一个要向下移动的控件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>
4

1 回答 1

4

我认为您必须为TranslateTransformRenderTransform 提供一个空白,因为通常在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>
于 2013-04-10T13:54:35.013 回答