动画边框阴影效果

时间:2015-06-19 03:47:58

标签: c# wpf

我还是WPF的新手,不过我正试图为投影设置动画

作为上下文,这是用户控件的通用主题

给出

<Border x:Name="PART_ClearBorder"
    <Border.Effect>
        <DropShadowEffect ShadowDepth="2" />
    </Border.Effect>

里面

<ControlTemplate.Triggers>

我有

<MultiTrigger>
    <MultiTrigger.Conditions>
        <Condition SourceName="PART_Clear" Property="IsMouseOver" Value="True" />
        <Condition Property="HasText" Value="True" />
    </MultiTrigger.Conditions>
    <Setter TargetName="PART_Clear" Property="Foreground" Value="{StaticResource ClearHighlightBrush}" />
    <MultiTrigger.EnterActions>
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation AutoReverse="True"
                                    Duration="0:0:0.5"
                                    From="0"
                                    Storyboard.TargetName="{Binding ElementName=PART_ClearBorder}"
                                    Storyboard.TargetProperty="(Effect).(DropShadowEffect.ShadowDepth)"
                                    To="30" />
            </Storyboard>
        </BeginStoryboard>
    </MultiTrigger.EnterActions>
</MultiTrigger>

注意重要的部分是尝试定位ShadowDepth属性的双动画

我在运行项目时抛出System.Windows.Markup.XamlParseException

我也在xaml主窗体中获得下划线

  

错误2无法冻结此Storyboard时间轴树以供使用   线程。

我确信这很简单,好像我不是正确地将故事板镀在锅上

任何线索

1 个答案:

答案 0 :(得分:2)

试试这个:

<Border x:Name="PART_ClearBorder" >
    <Border.Effect>
        <DropShadowEffect x:Name="dropEffect" ShadowDepth="2" />
    </Border.Effect>

和你的故事板

<DoubleAnimation AutoReverse="True"
                 Duration="0:0:0.5"
                 From="0"
                 Storyboard.TargetName="dropEffect"
                 Storyboard.TargetProperty="ShadowDepth"
                 To="30" />