-1

我正在学习 uwp 开发,我正在尝试让我的 splitview 窗格具有丙烯酸刷。据我所知,丙烯酸刷有两种类型。WindowAcrylic 和 Element Acrylic。在默认的 Windows 10 音乐应用程序 (Groove) 中,splitview 菜单在紧凑模式下具有 WindowsAcrylic,在打开模式下具有 ElementAcrylic。在他们说的一些教程中,当您设置 WindowsAcrylicBrush 时,它会在打开时自动变为 elementAcrylicBrush,但在我的应用程序中不能这样工作。

这是我在紧凑模式 袖珍的 和打开模式下 的拆分视图打开 但我正在尝试像这样 GrooveCompact 开槽

4

1 回答 1

1

在此处查看有关 NavigationView 的不同显示模式的描述。

你有Minimal和。根据当前显示模式的状态,背景将被不同地绘制,使用背景丙烯酸或应用内丙烯酸。CompactExpanded

对于您的情况,您可能还没有达到定义的阈值,因此您的应用程序从 Expanded 切换到 Compact,因此我们仍然可以看到窗格与内容并排绘制,背景涂有背景丙烯酸。

如果您想定义不同的窗口宽度,NavigationView 会进入不同的显示模式(根据您的情况,您可能希望应用程序以比当前更高的最小宽度进入紧凑模式),请检查以下属性:CompactModeThresholdWidth ExpandedModeThresholdWidth此处

Background Acrylic为和定义亚克力背景资源In-App Acrylic,覆盖以下 NavigationView 的背景资源:

<media:AcrylicBrush x:Key="NavigationViewExpandedPaneBackground" BackgroundSource="HostBackdrop" TintColor="#FF3333FF" TintOpacity="0.6" FallbackColor="#FF3333FF" />
<media:AcrylicBrush x:Key="NavigationViewDefaultPaneBackground" BackgroundSource="Backdrop" TintColor="#FF3333FF" TintOpacity="0.6" FallbackColor="#FF3333FF" />

有了这个,您可以使用自己的自定义背景资源,并且您不限于使用通用主题资源(,,...)中的默认背景亚克力和应用内Light亚克力Dark

您可以在此 gif 上看到应用程序根据 Windows 从 Background Acrylic 和 In-App Acrylic 切换Width

在此处输入图像描述

于 2017-12-24T14:24:21.673 回答