我有一个应用程序,它使用主题来自定义按钮和其他ui控件的外观。样式使用一些常见颜色,因此它们在xaml中定义并使用StaticResource引用:
<ColorAnimation Storyboard.TargetName="LayoutRoot"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="{StaticResource AccentColor}"
Duration="00:00:00"/>
现在,我想让AccentColor可配置。问题是,我不能只使用DynamicResource,因为ColorAnimation必须是freezable才能在故事板中使用。
有解决方法吗?
答案 0 :(得分:1)
似乎唯一的解决方法是不使用ColorAnimation
,而是使用2个元素,其中一个元素的背景设置为{DynamicResource AccentColor}
并交换其可见性。
当然这种解决方法特定于这种情况,例如,只有ColorAnimation
持续时间为0才有意义,否则它不会产生相同的视觉效果。