我定义了一种颜色
<Color x:Key="MyBlackColor">#000000</Color>
我以风格
使用它<Style x:Key="PageHeaderStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="72" />
<Setter Property="FontWeight" Value="Light"/>
<Setter Property="Margin" Value="22,0,0,12"/>
<Setter Property="Foreground" Value="{StaticResource MyBlackColor}"/>
</Style>
它在运行时工作正常(文本为黑色),但在设计器前景中为白色。
混合中相同。当我点击&#34;转到来源&#34;它直接跳转到Value =&#34; {StaticResource MyBlackColor}&#34;,但前景是白色的。
任何想法,为什么?
答案 0 :(得分:2)
由于Foreground
是Brush
尝试使用SolidColorBrush
并将您的资源用作颜色:
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{StaticResource MyBlackColor}"/>
</Setter.Value>
</Setter>
答案 1 :(得分:1)
所以你可以像你一样定义你的Color
;
<Color x:Key="MyBlackColor">#FF000000</Color>
然后立即将其指定为Brush
。
<SolidColorBrush x:Key="ActualBlackColorForeground"
x:Name="ActualBlackColorForeground"
Color="{StaticResource MyBlackColor}" />
无论什么时候,然后把它扔到哪里。
<Setter Property="Foreground" Value="{StaticResource ActualBlackColorForeground}"/>
如果你想将它用作全球资源,你应该很好。希望这会有所帮助。