4.基于Prism框架的登录跳转

在进行桌面应用开发时,从登录窗口跳转到主窗口的操作极为常见的,

在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);
            }

        }

    }
}

 

posted @ 2025-12-19 14:04  家煜宝宝  阅读(11)  评论(0)    收藏  举报