故事板评估staticresource

时间:2018-06-19 10:01:46

标签: wpf xaml binding 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>

在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>

1 个答案:

答案 0 :(得分:2)

这无效,因为绑定Storyboard属性时无法冻结To

To="{Binding Color, Source={StaticResource GreenLight}}"

因此,您实际上需要将To属性设置为Color对象,即像这样定义资源:

<Color x:Key="GreenLight">#0CAF12</Color>