故事板要重视静态资源
Storyboard To value staticresource
可以解决这个问题,我在 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>
在用户控件标签样式中:
<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>
这行不通,因为绑定 To
时无法冻结 Storyboard
属性:
To="{Binding Color, Source={StaticResource GreenLight}}"
所以你实际上需要将 To
属性 设置为 Color
对象,即像这样定义你的资源:
<Color x:Key="GreenLight">#0CAF12</Color>
可以解决这个问题,我在 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>
在用户控件标签样式中:
<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>
这行不通,因为绑定 To
时无法冻结 Storyboard
属性:
To="{Binding Color, Source={StaticResource GreenLight}}"
所以你实际上需要将 To
属性 设置为 Color
对象,即像这样定义你的资源:
<Color x:Key="GreenLight">#0CAF12</Color>