我正在学习 uwp 开发,我正在尝试让我的 splitview 窗格具有丙烯酸刷。据我所知,丙烯酸刷有两种类型。WindowAcrylic 和 Element Acrylic。在默认的 Windows 10 音乐应用程序 (Groove) 中,splitview 菜单在紧凑模式下具有 WindowsAcrylic,在打开模式下具有 ElementAcrylic。在他们说的一些教程中,当您设置 WindowsAcrylicBrush 时,它会在打开时自动变为 elementAcrylicBrush,但在我的应用程序中不能这样工作。
1062 次
1 回答
1
在此处查看有关 NavigationView 的不同显示模式的描述。
你有Minimal
和。根据当前显示模式的状态,背景将被不同地绘制,使用背景丙烯酸或应用内丙烯酸。Compact
Expanded
对于您的情况,您可能还没有达到定义的阈值,因此您的应用程序从 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 回答