我正在尝试更改 NavigationView 框架或内容的背景。
我将背景设置为 Acrylic,NavigatioView 中的 Frame 与窗格中的 NavigatioViewItem 的颜色不同。
我将背景设置为
MainWindow.xaml
,当我导航到具有透明背景的常规页面时,它效果很好。
如何将其更改为像页面背景一样全透明?
让我向您展示一种使用 SystemBackdrop 来执行此操作的方法:
首先,将
SystemBackdrop
设置在 MainWindow
上。
MainWindow.xaml
<Window ...>
<Window.SystemBackdrop>
<DesktopAcrylicBackdrop />
</Window.SystemBackdrop>
...
</Window>
然后在每个页面上,将
Background
设置为 Transparent
或将其删除。
<Page Background="Transparent" ...>
您可能还想覆盖
NavigationView
的这些后台资源:
<Page.Resources>
<SolidColorBrush
x:Key="NavigationViewDefaultPaneBackground"
Color="Transparent" />
<SolidColorBrush
x:Key="NavigationViewExpandedPaneBackground"
Color="Transparent" />
<SolidColorBrush
x:Key="NavigationViewContentBackground"
Color="Transparent" />
</Page.Resources>
<NavigationView ...>
您可以在 generic.xaml 文件上了解这些资源。
所以,我从另一个网站找到了与我的问题无关的答案,但它有效。
只需在
App.xaml
资源或Page、Grid、NavigationView资源中添加以下代码即可:
<SolidColorBrush x:Key="NavigationViewContentBackground" Color="Transparent" />