在进行桌面应用开发时,从登录窗口跳转到主窗口的操作极为常见的,
在Prism框架下,登录跳转的具体操作可以通过重写InitializeShell方法来实现(这里以PrismApplication启动为例)。
InitializeShell(Window shell):PrismApplication类型的实例方法,在初始化Shell(主窗口)的时候执行。
代码
using DryIoc; using Prism.DryIoc; using Prism.Ioc; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows;namespace _2_PrismApplication启动 {/// <summary>/// App.xaml 的交互逻辑/// </summary>public partial class App : PrismApplication{protected override Window CreateShell(){//创建主窗口对象return Container.Resolve<MainWindow>();}protected override void RegisterTypes(IContainerRegistry containerRegistry){//这里进行IOC容器管理类型的注册 }// 基于Prism框架的登录跳转 //在进行桌面应用开发时,从登录窗口跳转到主窗口的操作极为常见的,在Prism框架下,登录跳转的具体操作可以通过重写InitializeShell方法来实现(这里以PrismApplication启动为例)。 //InitializeShell(Window shell):PrismApplication类型的实例方法,在初始化Shell(主窗口)的时候执行。protected override void InitializeShell(Window shell){//通过IOC容器来创建登录窗口var login = Container.Resolve<Login>();if (login == null || login.ShowDialog() == false){//当登录失败或登录窗口关闭,则直接关闭应用Application.Current.Shutdown();}else{base.InitializeShell(shell);}}} }