1
我想提供导航的抽屉。有TabbedContainer页面(例如家庭或主页面),还有SingleContainer页面。如何让TabbedContainer和SingleContainer在同一个堆栈中?
目前我必须切换堆栈才能触发调用IMasterDetailView中的SetStack,它将更改Details页面。然而,这种方式导航被打破了。
我想提供导航的抽屉。有TabbedContainer页面(例如家庭或主页面),还有SingleContainer页面。如何让TabbedContainer和SingleContainer在同一个堆栈中?
目前我必须切换堆栈才能触发调用IMasterDetailView中的SetStack,它将更改Details页面。然而,这种方式导航被打破了。
如果您正在讨论如何在MasterPage导航链接上更改DetailPage上的堆栈,则最好的方法是使用容器和区域映射。
在您的TabbedViewContainer中,在构造函数中,标记您的主页和详细页面,如此。
RegionMapping.Add("Master", ContainerType.Master);
RegionMapping.Add("Detail", ContainerType.Detail);
接下来,还要注意您分配容器的名称,例如,
public TabbedViewContainer(MainStack mainStack, SecondStack secondStack)
: base(Containers.Tabbed.ToString(), null)
然后,当你做一个导航,请确保您指定的容器和地区,在这种情况下Containers.Tabbed.ToString()
和"Detail"
,这将导致在该特定区域的导航。
亚当,非常感谢您的答案。我要检查一下,有点不知所措,我还有更多的问题需要解决,但不想淹没SO(和你)。我会在几个小时后回来,或者在周末回复 –
谈论ExrinSampleMobileApp:我不想从MainContainer导航,因为MainContainer通过内置在MasterDetailPage中的Xam实现抽屉菜单。如果我从那个容器中导出,那么抽屉就会消失。我理解里面的区域概念,所以我得出结论,我还必须在Regions.Main中导航。 TabbedContainer最初显示在那里。从菜单中,我想导航到设置页面,但不想在选项卡页面中显示设置页面,而是希望单独查看它。调用SetStack的唯一方法是调用... –