我遵循https://github.com/PrismLibrary/Prism-Samples-Wpf/blob/master/17-BasicRegionNavigation中提供的示例代码
我想在运行应用程序时获得以下结果(没有明确单击导航到视图 A)。有谁知道该怎么做?
我尝试在此行Navigate("ViewA");
之后添加。但是,我无法得到想要的结果。是因为模块没有初始化吗?
谢谢。
我遵循https://github.com/PrismLibrary/Prism-Samples-Wpf/blob/master/17-BasicRegionNavigation中提供的示例代码
我想在运行应用程序时获得以下结果(没有明确单击导航到视图 A)。有谁知道该怎么做?
我尝试在此行Navigate("ViewA");
之后添加。但是,我无法得到想要的结果。是因为模块没有初始化吗?
谢谢。
最终我通过在 MainWindow.xaml.cs 中添加以下代码来解决
public partial class MainWindow
{
IRegionManager _regionManager;
public MainWindow()
{
InitializeComponent();
_regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
RegionManager.SetRegionManager(ContentRegion, _regionManager);
Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
_regionManager.RequestNavigate("ContentRegion", "ViewA");
}
}
从以下位置获取想法:https ://github.com/MahApps/MahApps.Metro/issues/1020#issuecomment-44779574
我在这里参加聚会有点晚了,但我也偶然发现了如何在应用程序启动期间导航到默认视图的问题。
我找到了两种方法:
App
决定默认视图这可以在 -Class 中的CreateShell()
-override 中解决App
。
这是我的CreateShell
方法:
/// <inheritdoc />
protected override Window CreateShell()
{
var window = this.Container.Resolve<MainWindow>();
window.Loaded += (sender, args) =>
{
var manager = this.Container.Resolve<IRegionManager>();
manager.RequestNavigate("ContentRegion", "ViewA");
};
return window;
}
添加一个构造函数MainWindowViewModel
,如下所示:
public MainWindowViewModel(IRegionManager regionManager)
{
regionManager.RegisterViewWithRegion("ContentRegion", "ViewA");
}
您是否使用覆盖方法 ConfigureModuleCatalog 将模块添加到模块目录?看看这里