代码之家  ›  专栏  ›  技术社区  ›  Vaccano

关闭时,棱镜应用程序不会退出

  •  4
  • Vaccano  · 技术社区  · 14 年前

    我已经做了一个应用程序非常类似的一个,迈克陶尔蒂在是伟大的全日制关于棱镜。最大的区别是我的应用程序是WPF应用程序,而不是Silverlight。

    我试过寻找调用堆栈等,但Visual Studio只是告诉我它是“外部代码”。

    我能做些什么/找些什么来解决这个问题吗?

    2 回复  |  直到 14 年前
        1
  •  6
  •   Dyer    14 年前

    重写App.xaml背后代码中的OnStartup方法,并添加以下内容:

    this.ShutdownMode = ShutdownMode.OnMainWindowClose; 
    

    高温高压

        2
  •  3
  •   j0k user1957683    12 年前

    戴尔的回答只解决了部分问题。

    我也遇到了同样的问题,过了一会儿我发现区域导航命令也不能正常工作。

    当我修复它时,我得到了两个Shell windows实例。 为什么?

    真正的问题是 启动Uri 在app.xaml中。

    将其从app.xaml中移除,修复外壳,无需使用此“补丁”,应用程序将正常运行,关闭外壳时它将关闭。

    同样,这只是一个症状,如果不修复Shell创建,其他问题也会出现。

    protected override DependencyObject CreateShell()
    {
        return this.Container.Resolve<Shell>();
    }
    
    protected override void InitializeShell()
    {
        base.InitializeShell();
    
        Application.Current.MainWindow = (Shell)this.Shell;
        Application.Current.MainWindow.Show();
    
        IRegionManager regionManager = this.Container.Resolve<IRegionManager>();
        regionManager.RegisterViewWithRegion(RegionNames.MainRegion, typeof(MainView));
    }