好的,这一直困扰着我,我还没有真正找到任何明确的答案,因为Color
和SolidColorBrush
之间存在差异,因此我想知道是否有人可以对此进行教育。
我已经知道用法上的差异,例如,我可以在依赖项中使用SolidColorBrush
,就像我说的那样;
<SolidColorBrush x:Key="BlahBrush" Color="#FFFFFFFF"/>
<Border Background="{StaticResource BlahBrush}"/>
但是然后说我将类似的资源以类似
EasingColorKeyFrame
的方式抛出;<EasingColorKeyFrame KeyTime="0" Value="{StaticResource BlahBrush}" />
然后它会因为我是SolidColorBrush而p之以鼻...。除了我可以通过在资源链中将其声明回
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类之间的固有区别是什么,以及它们在使用中产生怪异怪癖的原因? aka我想System.Windows.Media.Colors和System.Windows.Media.SolidColorBrush的原因是什么,如果它们都只是给出了该死的纯色呢?
想知道的人问问! :)
最佳答案
从Brush中的“备注”部分:
关于wpf - Color和SolidColorBrush澄清之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21467296/