可以想出这个,我在aaplication.xaml中有一些静态资源
这些静态资源我在每个设计的不同位置使用。现在我想在Storyboard中使用Staticresource到Coloranimation但我无法让它工作我得到错误:
An object of the type "System.Windows.Media.SolidColorBrush" cannot be applied to a property that expects the type "System.Nullable1[[System.Windows.Media.Color,....]]
代码:
Application.XAML
<Application.Resources>
<SolidColorBrush x:Key="GreenLight" Color="#0CAF12" />
</Application.Resources>
在usercontrol标签样式中:
<Setter Property="Label.Content" Value="Connected" />
<DataTrigger.EnterActions>
<BeginStoryboard Name="StoryConnected">
<Storyboard Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)">
<ColorAnimation Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)" To="{StaticResource GreenLight}" Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="StoryConnected" />
</DataTrigger.ExitActions>
答案 0 :(得分:2)
这无效,因为绑定Storyboard
属性时无法冻结To
:
To="{Binding Color, Source={StaticResource GreenLight}}"
因此,您实际上需要将To
属性设置为Color
对象,即像这样定义资源:
<Color x:Key="GreenLight">#0CAF12</Color>