即使没有页面在后堆栈中,也显示后退按钮

时间:2016-02-14 02:29:36

标签: win-universal-app template10

我正在使用模板10制作Master / Details模板.Master / Details Template 10示例使用CommandBar来完全控制何时显示后退按钮,但是我想在后面显示后退按钮PageHeader或shell。问题是,由于没有后栈,按钮拒绝显示。我该怎么办呢?

2 个答案:

答案 0 :(得分:2)

覆盖OnNavigatedTo事件,并在代码隐藏文件中为要启用标题栏后退按钮的每个页面设置AppViewBackButtonVisibility为Visible。

看看这里:http://grogansoft.com/blog/?p=1116

重要的部分是public boolean equals(Object obj) { if (obj instanceof Integer) { return value == ((Integer)obj).intValue(); } return false; }

"AppViewBackButtonVisibility"

我还建议你看一下AppBar属性。 尤其是获取或设置UIElement可见性的可见性,您可以强制项目的可见性:

https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.appbar.aspx

答案 1 :(得分:0)

所以我为此创建了一个hacky解决方案。基本上我是在堆栈中添加一个虚拟值,以便后退按钮认为有一些东西可以追溯到。

var entry = new PageStackEntry(typeof(bool), null, null);
Frame.BackStack.Insert(0, entry);

然后我添加了一个BootStrapper.BackRequested事件,将HandledEventArgs.Handled设置为true,因此Template10实际上不会弹出页面。这样我就能完全控制后筹码和后方能见度。