daixinet

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在WPF中设计登录窗口关闭时打开主窗口,自动生成的App.xaml不能满足要求,

1、把App.xaml的属性窗口中的生成操作设定为 无

2、添加Program类

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            LoginWindow loginForm = new LoginWindow();
            loginForm.Init();
            bool? rt = loginForm.ShowDialog();
            loginForm.Close();
            if (rt == true)
            {
                Application App = new Application();
                App.ShutdownMode = ShutdownMode.OnMainWindowClose;
                MainWindow m_MianWindow = new MainWindow();
                App.MainWindow = m_MianWindow;
                App.Run(m_MianWindow);
            }
        }
    }

这样就可以满足要求了

参考:http://www.mysjtu.com/page/M0/S613/613036.html

 

方法二:

最近看一方法,不用添加Program方法即可,代码如下:

    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
            LoginWindow window = new LoginWindow();
            bool? dialogResult = window.ShowDialog();
            if ((dialogResult.HasValue == true) &&
                (dialogResult.Value == true))
            {
                base.OnStartup(e);
                Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
}
else { this.Shutdown(); } } }

通过Application的ShutdownMode控制进程的运行时间。

 

posted on 2012-08-16 14:26  daixinet.com  阅读(14282)  评论(7编辑  收藏  举报