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

TranslateTransform通常、.には何もないため、RenderTransform に空を指定する必要があると思います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 に答える