修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

原文 修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

Microsoft发布了新版本的Windows 10 UWP SDK Build 17763,您可以查看What's New文档以获取更多详细信息。但是,当我将我的应用程序重新定位到版本17763时,出现意外情况,如果我将App运行时更改为版本17763 ,则  AcrylicBrush会丢失。

我不确定这是否是17763上的设计,或者它是一个错误,我正在尝试联系Microsoft产品组解决此问题。现在,我可以解决此问题的解决方法。

如果您不理解我所说的问题,这是一个简单的测试。

创建一个新的空白App,对Min和Target运行时使用17134

修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

将基本NavigationView控件添加到MainPage中。

<NavigationView IsSettingsVisible="True">
<NavigationView.MenuItems>
<NavigationViewItem Content="Main" Icon="Document" />
</NavigationView.MenuItems>
</NavigationView>

运行App,您应该 使用正确的AcrylicBrush获得精美的  NavigationView控件:

修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

现在,将目标版本更改为17763

修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

再次运行应用程序,AcrylicBrush 消失了:

修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

要解决此问题,我必须通过覆盖窗格的背景来使用解决方法。在App.xaml中添加此代码

<ResourceDictionary>
<AcrylicBrush x:Key="NavigationViewDefaultPaneBackground"
BackgroundSource="Backdrop" TintColor="{ThemeResource SystemChromeMediumColor}" TintOpacity=".5"/>
<AcrylicBrush x:Key="NavigationViewTopPaneBackground"
BackgroundSource="Backdrop" TintColor="{ThemeResource SystemChromeMediumColor}" TintOpacity=".5"/>
<AcrylicBrush x:Key="NavigationViewExpandedPaneBackground"
BackgroundSource="HostBackdrop" TintColor="{ThemeResource SystemChromeMediumColor}" TintOpacity=".7"/>
</ResourceDictionary>

现在你应该得到一个类似于运行时版本17763上的原点的  AcrylicBrush 

修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

注意:同样的问题也发生在WinUIhttps://docs.microsoft.com/en-us/uwp/toolkits/winui/)中的NavigationView控件上,甚至目标版本是17134。

上一篇:Eclipse导入的工程后referenced libraries中的jar包中文注释显示乱码解决方法


下一篇:【转帖】Windows 10版本占比一览:v1903依然最稳定 占比52.6%