好的,这一直困扰着我,我还没有真正找到任何明确的答案,因为ColorSolidColorBrush之间存在差异,因此我想知道是否有人可以对此进行教育。

我已经知道用法上的差异,例如,我可以在依赖项中使用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}"/>

一切都会好起来的。...不过,我还是可以只使用ColorSolidColorBrush属性,就可以得到相同的行为而不会被分开。
<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/

10-09 09:10