模板 10 HamburgerMenu 和 PageHeader 背景色
Template 10 HamburgerMenu and PageHeader background color
使用 Live 属性 Explorer 我可以看到 HamburgerMenu 控件的背景颜色是 DimGray 或 #FF2B2B2B,具体取决于 Light/Dark 主题选择,但请问这些颜色从哪里继承它们的值?
我想为 PageHeader 背景色使用相同的颜色,而不是 CustomColor(模板中默认为 SteelBlue)。
在Custom.xaml资源字典中,如果我在"Light"资源字典中注释掉针对PageHeader控件的样式,几乎可以在header的右侧部分达到我想要的效果] 但不在汉堡 header.
<!--<Style TargetType="controls:PageHeader">
<Setter Property="Background" Value="{ThemeResource CustomColorBrush}" />
<Setter Property="Foreground" Value="{ThemeResource ContrastColorBrush}" />
</Style>-->
导航区域的背景颜色不是继承的,而是在 Template10 中这样编码的。 属性 的名称是 NavAreaBackground
并且可以看到源中的定义 here.
如果你想改变这种颜色,你可以使用类似
的样式定义
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<Style TargetType="controls:HamburgerMenu" x:Key="HamburgerMenuStyle">
<Setter Property="NavAreaBackground"
Value="#FFFFFF" />
</Style>
</ResourceDictionary>
<ResourceDictionary x:Key="Default">
<Style TargetType="controls:HamburgerMenu" x:Key="HamburgerMenuStyle">
<Setter Property="NavAreaBackground"
Value="#000000" />
</Style>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
然后在您的 HamburgerMenu 中使用 Style="{ThemeResource HamburgerMenuStyle}"
引用样式。
至于钢蓝色,这款来自HamburgerMenu(definition of the header in the source)的HamburgerBackground
属性。您可以按照我上面演示的相同方式覆盖颜色。
对于您已经发布了如何应用颜色的代码的 PageHeader 也是如此。现在只需使用您为 HamburgerBackground
.
定义的相同颜色
快速说明:我曾经遇到一个错误,如果其他样式属性也未在您的样式中定义,则 NavAreaBackground
不会应用。不确定是否仍然如此。
使用 Live 属性 Explorer 我可以看到 HamburgerMenu 控件的背景颜色是 DimGray 或 #FF2B2B2B,具体取决于 Light/Dark 主题选择,但请问这些颜色从哪里继承它们的值?
我想为 PageHeader 背景色使用相同的颜色,而不是 CustomColor(模板中默认为 SteelBlue)。
在Custom.xaml资源字典中,如果我在"Light"资源字典中注释掉针对PageHeader控件的样式,几乎可以在header的右侧部分达到我想要的效果] 但不在汉堡 header.
<!--<Style TargetType="controls:PageHeader">
<Setter Property="Background" Value="{ThemeResource CustomColorBrush}" />
<Setter Property="Foreground" Value="{ThemeResource ContrastColorBrush}" />
</Style>-->
导航区域的背景颜色不是继承的,而是在 Template10 中这样编码的。 属性 的名称是 NavAreaBackground
并且可以看到源中的定义 here.
如果你想改变这种颜色,你可以使用类似
的样式定义<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<Style TargetType="controls:HamburgerMenu" x:Key="HamburgerMenuStyle">
<Setter Property="NavAreaBackground"
Value="#FFFFFF" />
</Style>
</ResourceDictionary>
<ResourceDictionary x:Key="Default">
<Style TargetType="controls:HamburgerMenu" x:Key="HamburgerMenuStyle">
<Setter Property="NavAreaBackground"
Value="#000000" />
</Style>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
然后在您的 HamburgerMenu 中使用 Style="{ThemeResource HamburgerMenuStyle}"
引用样式。
至于钢蓝色,这款来自HamburgerMenu(definition of the header in the source)的HamburgerBackground
属性。您可以按照我上面演示的相同方式覆盖颜色。
对于您已经发布了如何应用颜色的代码的 PageHeader 也是如此。现在只需使用您为 HamburgerBackground
.
快速说明:我曾经遇到一个错误,如果其他样式属性也未在您的样式中定义,则 NavAreaBackground
不会应用。不确定是否仍然如此。