xmlns:Windows10version1809 =" schemas.microsoft/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,7)"
xmlns:Windows10version1809="schemas.microsoft/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract, 7)"
使用< NavigationView Windows10version1809:PaneDisplayMode =" Top" .... />
using <NavigationView Windows10version1809:PaneDisplayMode="Top" .... />
导致应用程序在Windows 1803上崩溃
causes app to crash on windows 1803
我希望能够在1809上方导航到1803左上方
I want to be able to have the navigation on the top on 1809 and to the left on 1803
目标窗口:1809
目标最小值:1803
target min : 1803
推荐答案
这是预期的行为。如文档所述,PaneDisplayMode是1809版的新版本。请参阅:https://docs.microsoft/en-us/windows/uwp/design/controls-and-patterns/navigationview#display-modes
This is expected behavior. As documented, PaneDisplayMode is new for version 1809. See: docs.microsoft/en-us/windows/uwp/design/controls-and-patterns/navigationview#display-modes PaneDisplayMode属性需要Windows 10,版本1809( SDK 17763 )或更高版本,或 Windows UI库。 The PaneDisplayMode property requires Windows 10, version 1809 (SDK 17763) or later, or the Windows UI Library.
这为您提供了两类解决方案:
This gives you two categories of solutions:
如果您的用户界面需要设置PaneDisplayMode,那么:
If setting PaneDisplayMode is needed for your UI then:
- 使用Windows UI库中的Microsoft.UI.Xaml.NavigationPane控件而不是内置的Windows.UI.Xaml.NavigationPane控件
这将为您提供版本之间的一致用户界面。
This will give you a consistent UI between versions.
如果您的用户界面设置PaneDisplayMode不是必需的,或者您希望使用不同的用户界面每个版本然后(代码片段近似):
If setting PaneDisplayMode isn't essential for your UI or if you'd prefer to have different UI for each version then (code snippets approximate):
- 根本不设置
- 使用 条件Xaml 仅在定义了UniversalApiContract 7时设置它:
- Don't set it at all
- Use Conditional Xaml to set it only if UniversalApiContract 7 is defined:
- 使用 版本自适应代码,用于检查PaneDisplayMode是否存在并从代码中调用它后面
- Use Version adaptive code to check if PaneDisplayMode exists and call it from code behind if (ApiInformation.IsPropertyPresent("Windows.UI.Xaml.Controls.NavigationView", "PaneDisplayMode") { myNavigationView.PaneDisplayMode = NavigationViewPaneDisplayMode.Top; }
- Rob
更多推荐
[UWP]支持两个版本的UWP
发布评论