我有此代码:
<ResourceDictionary>
<Color x:Key="WordTextColor">#2196f3</Color>
</ResourceDictionary>
<Grid>
<Grid.Resources>
<Style TargetType="Grid">
<Style TargetType="Label">
<Setter Property="TextColor" Value="{StaticResource WordTextColor}" />
</Style>
如何用C#编写代码
我还可以将此静态资源编码为字符串而不是颜色吗?
答案 0 :(得分:1)
您可以有一个这样的帮助器类,您可以在其中定义所有颜色/值
public static class Styles
{
private static Color _backgroundColor = Color.FromHex("151515");
public static Color BackgroundColor => _backgroundColor;
}
然后,在xaml中,您在标题中引用它:
xmlns:local="clr-namespace:YourProjectAssembly.YourName;assembly=YourProjectAssembly.YourName"
并使用它:
<Grid BackgroundColor="{x:Static local:Styles.BackgroundColor}"/>
答案 1 :(得分:-1)
可以在String值而不是Hexa值中设置颜色。
可以在Window.Resources或Grid.Resources中设置资源。
窗口级资源
<Window.Resources>
<Color x:Key="TheBackgroundColor">#2196f3</Color>
</Window.Resources>
<Grid>
<Style TargetType="Grid">
<Style TargetType="Label">
<Setter Property="TextColor" Value="{StaticResource TheBackgroundColor}" />
</Style>
</Grid>
网格级别的资源
<Grid>
<Grid.Resources>
<Color x:Key="TheBackgroundColor">#2196f3</Color>
</Grid.Resources>
<Style TargetType="Grid">
<Style TargetType="Label">
<Setter Property="TextColor" Value="{StaticResource TheBackgroundColor}" />
</Style>
</Grid>