NavigationView窗格背景

时间:2018-02-22 13:06:44

标签: windows uwp navigationview pane

如何更改NavigationView窗格背景?

我正在尝试这种方式:

<NavigationView.Background>
  <LinearGradientBrush EndPoint="0.5,0" StartPoint="0.5,1">
  <GradientStop Color="#b1c899" Offset="0"/>
  <GradientStop Color="#18c1b9" Offset="1"/>
  </LinearGradientBrush>
<NavigationView.Background>

但似乎我无法删除“acrylic”,以及更改Header的背景颜色。

2 个答案:

答案 0 :(得分:4)

自定义用户界面的一个可能选项是覆盖以下两个主题资源:NavigationViewDefaultPaneBackgroundNavigationViewExpandedPaneBackground

您通常会修改这两个资源来自定义Acrylic Brush的外观,方法是通过以下方式覆盖它们:

<AcrylicBrush x:Key="NavigationViewDefaultPaneBackground"
              BackgroundSource="Backdrop" TintColor="Blue" TintOpacity=".6"/>

我认为可以简单地定义SolidColorBrush而不是 AcrylicBrush ,因此将丙烯酸背景更改为纯色,并从NavigationView窗格中完全删除丙烯酸。

<SolidColorBrush x:Key="NavigationViewExpandedPaneBackground" Color="Red"/>
<SolidColorBrush x:Key="NavigationViewDefaultPaneBackground" Color="Red" />

答案 1 :(得分:1)

我想补充一下安德烈的回答,即也可以更改“顶部窗格”背景属性:

<NavigationView.Resources>
    <SolidColorBrush x:Key="NavigationViewTopPaneBackground" Color="Red" />
</NavigationView.Resources>

正如内森(Nathan)在评论中指出的那样,还有更多可定制的颜色。您可以在此处查看它们:

https://github.com/Microsoft/microsoft-ui-xaml/blob/master/dev/NavigationView/NavigationView_rs2_themeresources.xaml