Caliburn.micro,SplitView和导航

时间:2015-09-18 13:11:45

标签: wpf windows-phone caliburn.micro uwp

我有一个关于Caliburn.Micro NavigationService和UWP SplitView控件的问题。

使用SplitView有第一级导航的示例:https://github.com/Caliburn-Micro/Caliburn.Micro/tree/3.0.0/samples/Caliburn.Micro.HelloUWP

在此示例中,NavigationService绑定到SplitView的Content部分中的Frame。如何在没有SplitView的情况下打开新页面,即实现二级导航

提前致谢

1 个答案:

答案 0 :(得分:0)

不确定这是否是“最佳”方式,但我所做的是向ShellView添加ViewModel,其中包含我不希望SplitView可用的所有页面类型的列表。

然后我在SplitView中注册了框架的OnNavigated事件,每次触发此事件时,我都会在ShellView后面的ViewModel上触发一个方法。

在该方法中,我将SplitView控件的类型从Overlay切换为Inline,并将属性IsOpen设置为false。这种方式对用户来说是完全隐藏的。

详细代码(但不使用Caliburn)可在此处找到: https://github.com/AppCreativity/Kliva/blob/master/Kliva/Controls/KlivaApplicationFrame.cs https://github.com/AppCreativity/Kliva/blob/master/Kliva/ViewModels/SidePaneViewModel.cs