【问题标题】:ColorAnimation workaround for DynamicResourceDynamicResource 的 ColorAnimation 解决方法
【发布时间】:2011-12-19 08:34:44
【问题描述】:

我有一个应用程序,它使用主题来自定义按钮和其他 ui 控件的外观。样式使用一些常见的颜色,因此它们在 xaml 中定义并使用 StaticResource 引用:

<ColorAnimation Storyboard.TargetName="LayoutRoot"
                Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
                To="{StaticResource AccentColor}"
                Duration="00:00:00"/>

现在,我想让 AccentColor 可配置。问题是在这里我不能只使用 DynamicResource 因为 ColorAnimation 必须是可冻结的才能在情节提要中使用。

有解决办法吗?

【问题讨论】:

    标签: wpf xaml


    【解决方案1】:

    似乎唯一的解决方法是不使用ColorAnimation,而是使用2个元素,其中一个将背景设置为{DynamicResource AccentColor}并交换它们的可见性。

    当然,这种解决方法是针对这种情况的,例如,仅当 ColorAnimation 持续时间为 0 时才有意义,否则不会产生相同的视觉效果。

    【讨论】:

    • 这太棒了。它启发了我有 2 个具有给定颜色的矩形,而只是影响它们的不透明度,以模拟正确的颜色动画!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多