我正在使用模板 10 制作主/详细信息应用程序。主/详细信息模板 10 示例使用命令栏来完全控制何时显示后退按钮,但我想在 PageHeader 或上显示后退按钮贝壳。问题是,由于没有返回堆栈,因此按钮拒绝显示。我该如何处理?
问问题
253 次
2 回答
2
覆盖 OnNavigatedTo 事件并在代码隐藏文件中为要启用标题栏后退按钮的每个页面将 AppViewBackButtonVisibility 设置为 Visible。
看看这里:http ://grogansoft.com/blog/?p=1116
重要的部分是"AppViewBackButtonVisibility"
if (rootFrame.CanGoBack)
{
// Show UI in title bar if opted-in and in-app backstack is not empty.
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
AppViewBackButtonVisibility.Visible;
}
我还建议您查看 AppBar 属性。特别是获取或设置 UIElement 可见性的 Visibility ,您可以强制项目的可见性:
https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.appbar.aspx
于 2016-02-14T07:46:36.387 回答
0
因此,我为此创建了一个 hacky 解决方案。基本上我在堆栈上添加了一个虚拟值,以便后退按钮认为有一些东西可以返回。
var entry = new PageStackEntry(typeof(bool), null, null);
Frame.BackStack.Insert(0, entry);
然后我添加了一个BootStrapper.BackRequested
事件,该事件设置HandledEventArgs.Handled
为true
因此 Template10 实际上不会弹出页面。这样我就可以完全控制后台堆栈和后台可见性。
于 2016-02-20T20:56:59.660 回答