我有一个UWP托管应用程序(JavaScript的)指向一个网站。
网站里面,我有一个iframe,让导航到不同的URL。
当IFRAME导航中,UWP应用程序的“返回”按钮突然出现在标题栏中。
我想完全禁用/删除后退按钮,这是因为:
该MSDN documentation说,标题栏后退按钮应该被默认禁用。我没有做任何事情来启用它。
我试图拦截事件,如下所示,但在iframe仍然没有回导航(或应用程序崩溃,如果不再有一个iframe):
// In the main website window (not the iframe)
var uiCore = Windows.UI.Core;
var navMgr = uiCore.SystemNavigationManager.getForCurrentView();
navMgr.onbackrequested = (e) => {
console.log("Back navigation"); // This is never logged
navMgr.appViewBackButtonVisibility = uiCore.AppViewBackButtonVisibility.collapsed;
e.handled = true;
};
有谁知道如何防止UWP平台,将后退键托管应用程序?
相反,挂钩的onBackRequested()回调,你应该能够只是关闭返回按钮的知名度与这部分代码:
var uiCore = Windows.UI.Core;
var navMgr = uiCore.SystemNavigationManager.getForCurrentView();
navMgr.appViewBackButtonVisibility = uiCore.AppViewBackButtonVisibility.collapsed;
嗯......在微软UWP样品,你可以找到另一种方法来隐藏/显示此按钮。我只是用自己的样品像我UWP应用程序的骨架。所以我做了什么躲回到箭头以下。
public RootFrameNavigationHelper(Frame rootFrame, Microsoft.UI.Xaml.Controls.NavigationView currentNavView)
{
...
if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 6))
{
// Add two lines
CurrentNavView.IsBackEnabled = false;
CurrentNavView.IsBackButtonVisible = Microsoft.UI.Xaml.Controls.NavigationViewBackButtonVisible.Collapsed;
// And comment this line
//CurrentNavView.BackRequested += NavView_BackRequested;
}
...
}