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