我的应用程序中的某些关键颜色被加载为动态资源。这很好地工作,除了ColorAnimation以外的大多数控件。对于这一点,它抛出异常:ColorAnimation不喜欢我在我的WPF xaml文件中使用DynamicResource
不能在属性“收件人”值转换为类型System.Nullable`1 [[System.Windows.Media.Color,PresentationCore的”对象,版本= 3.0.0.0 ,Culture = neutral,PublicKeyToken = 31bf3856ad364e35]]'。 '#FF93CF65'对属性'To'不是有效值。
我在样式中使用完全相同的资源,在这种情况下它工作正常。有问题的xaml如下所示:
<Style x:Key="ChildWindowButtonBarButtonStyle" TargetType="{x:Type Button}">
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorder}" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="#ffffb14c" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.8" Storyboard.TargetProperty="Opacity" From="1" To=".5" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation BeginTime="00:00:00" Duration="00:00:00.4" Storyboard.TargetProperty="Opacity" From=".5" To="1" />
<ColorAnimation BeginTime="00:00:00" Duration="00:00:00.2" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="Green"/>
<ColorAnimation BeginTime="00:00:00.3" Duration="00:00:00.4" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="{StaticResource ButtonBorder}"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
有没有人对此有任何意见?
- Dave
不,没有喜悦。我确实发现了另一篇文章(http://objectmix.com/csharp/733011-wpf-using-storyboards-custom-control.html),似乎表明它是通过设计并且不容易解决。因此,我正在结束这个问题。 – dave 2010-11-15 05:46:55