好吧,这一直困扰着我,我还没有真正找到任何明确的答案作为两者之间差异的原因/原因Color
& SolidColorBrush
所以我想知道是否有人可以在这方面教育我。
我已经知道用法上的差异,例如我可以使用SolidColorBrush
就像我说的那样;
<SolidColorBrush x:Key="BlahBrush" Color="#FFFFFFFF"/>
<Border Background="{StaticResource BlahBrush}"/>
但然后说我将相同的资源放入EasingColorKeyFrame
就像;
<EasingColorKeyFrame KeyTime="0" Value="{StaticResource BlahBrush}" />
然后它会因为它是一个 SolidColorBrush 而对我感到恶心……除非我可以通过通过资源链将其声明回一个来解决这个问题Color
就像;
<Color x:Key="OriginalBlahBrush">#FFFFFFFF</Color>
<SolidColorBrush x:Key="BlahBrush" Color="{StaticResource OriginalBlahBrush}"/>
一切都会好的......但话又说回来,我可以利用Color
单独的财产SolidColorBrush
并且可以在不分离的情况下获得相同的行为;
<SolidColorBrush>
<SolidColorBrush.Color>
<Color A="255" R="0" G="0" B="255" />
</SolidColorBrush.Color>
</SolidColorBrush>
所以我想我的问题是,Colors 和 SolidColorBrush 类之间的内在区别是什么,以及它们在使用中出现奇怪的怪癖的原因是什么?又名我猜想 System.Windows.Media.Colors 与 System.Windows.Media.SolidColorBrush 的原因是什么,如果它们都只是提供纯色该死的颜色?
好奇心想知道! :)