zoukankan      html  css  js  c++  java
  • Prism框架下的登录窗口跳转

    Prism框架下的登录窗口跳转思路是,先注册MainWindow,然后将LoginWindow作为主窗口运行,登录完成后在LoginWindow中使用容器切换窗口为MainWindow并显示,最后关闭LoginWindow即可。

    需要注意的是,如果想要在MainWindow中通过区域名称(RegionManager.RegionName)来进行控件注入,那么需要在切换窗口时设置MainWindow的RegionManager,而RegionManager可以通过LoginWindow注入获取(IRegionManager)。

    1、App.xaml.cs

    public partial class App : PrismApplication
    {
        protected override Window CreateShell()
        {
            return Container.Resolve<LoginWindow>();
        }
    
        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.Register(typeof(object), typeof(MainWindow));
        }
    }

    2、LoginWindow.xaml.cs

    public partial class LoginWindow : Window
    {
        private readonly IContainerExtension _container;
        private readonly IRegionManager _regionManager;
    
        public LoginWindow(IContainerExtension container, IRegionManager regionManager)
        {
            InitializeComponent();
    
            _container = container;
            _regionManager = regionManager;
    
            if (!DesignerProperties.GetIsInDesignMode(this))
            {
                var viewModel = new LoginWindowViewModel();
                viewModel.LoginSuccess += OnLoginSuccess;
                DataContext = viewModel;
            }
        }
    
        private void OnLoginSuccess()
        {
            var mainWindow = _container.Resolve<MainWindow>();
            RegionManager.SetRegionManager(mainWindow, _regionManager);
            mainWindow.Show();
            Close();
        }
    }
  • 相关阅读:
    CSUST 4005-你真的会!(分治思维+线段树)
    CSUST 4007-你真的会图论吗?(思维-三元环)
    CSUST 4002-你真的会字符串吗?(DP)
    Odoo下拉动作列表
    Odoo Shell
    Odoo report
    Odoo Web Service API
    Odoo启动过程
    Odoo10 变化
    Odoo10尝鲜:出勤登记
  • 原文地址:https://www.cnblogs.com/xhubobo/p/14920684.html
Copyright © 2011-2022 走看看