WPF 无法关闭应用程序实例以再次运行它

C.迈耶

我有一个控制台应用程序作为[STAThread].

该应用程序应该打开一个单独的 Wpf UI 以输入一些设置。

功能:

 private static void openUI()
    {
        var application = new System.Windows.Application();

        //referenced project in the same solution
        var ui = new ManagerUI.MainWindow();

        //blocks execution
        application.Run(ui);

        application.Shutdown();
    }

首次打开用户界面按预期工作。第二次打开UI时出现问题。

我得到一个System.InvalidOperationException,说我不能在同一个 AppDomain 中运行多个应用程序实例。

为了节省 ram,它必须在操作之间关闭。

我还尝试System.Windows.Application在构造函数中创建但是一旦我第二次运行该应用程序,就会遇到一个非常相似的异常。InitializeComponents()UI方法抛出一个System.InvalidOperationException,表示对象将被终止。

StackTraces 显示解析xaml 时出现错误,所以我断定它无法打开它,因为它仍然在第一次执行时打开。

调用ui.Close()和调用application.Shutdown()不能解决问题(Environment.Exit()关闭所有内容,包括我的控制台应用程序)。

ram 分析器表明,并非所有东西都正确关闭,因为它在关闭窗口后显示出比在最开始打开之前更高的使用率。

如何正确关闭应用程序实例,或者如何重新使用它来多次运行 Wpf 应用程序?

列罗

看看这个问题:Does a WPF Application 实际上需要 Application.Run?.

基本上它说,您可以使用 window.ShowDialog() 方法打开窗口而无需 Application 实例

认为 Application.Run 不做任何重要的事情,而是运行 Dispatcher 循环。ShowDialog 有自己的 Dispatcher。但是,您可以创建 Application 单例实例,因为它包含一些共享资源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF应用程序由于不可见的主窗口实例而无法关闭

来自分类Dev

在WPF中关闭事件后保持应用程序运行

来自分类Dev

C#WPF应用程序Webbrowser无法运行angularjs

来自分类Dev

在后台运行的WPF应用程序

来自分类Dev

WPF应用程序:无法捕获的异常?

来自分类Dev

WPF应用程序在尝试查找静态资源时关闭

来自分类Dev

WPF应用程序立即为用户关闭

来自分类Dev

单击“ X”按钮时如何关闭WPF应用程序

来自分类Dev

如果WPF应用程序强制关闭或崩溃,则处理WPF关闭事件

来自分类Dev

如果WPF应用程序强制关闭或崩溃,则处理WPF关闭事件

来自分类Dev

使用Caliburn.Micro的单实例WPF应用程序

来自分类Dev

WPF拖放应用程序

来自分类Dev

发布WPF应用程序

来自分类Dev

运行WPF应用程序需要什么?

来自分类Dev

在WPF应用程序的新Itemtab中运行exe文件

来自分类Dev

运行WPF应用程序需要什么?

来自分类Dev

无法将字体导入WPF应用程序

来自分类Dev

无法在Expression Blend 4中打开WPF应用程序

来自分类Dev

无法“附加”我的WPF项目中的多个应用程序

来自分类Dev

无法在Travis CI上构建WPF应用程序

来自分类Dev

当我关闭启动画面时 WPF 应用程序关闭

来自分类Dev

从另一个WPF应用程序加载WPF应用程序程序集,出现错误:无法在同一AppDomain中创建多个System.Windows.Application实例

来自分类Dev

运行WPF应用程序的可执行文件时,log4net无法正常工作

来自分类Dev

C#WPF应用程序在Visual中启动,但在直接运行时无法启动

来自分类Dev

运行WPF应用程序的可执行文件时,log4net无法正常工作

来自分类Dev

CefSharp.Wpf - 应用程序在不安装 Visual Studios 的情况下无法在 Windows 7 上运行

来自分类Dev

无法将图像添加到C#WPF .NetCore WPF应用程序

来自分类Dev

WPF Prism +现有的WPF应用程序

来自分类Dev

如何从另一个应用程序关闭WPF系统任务栏应用程序?

Related 相关文章

  1. 1

    WPF应用程序由于不可见的主窗口实例而无法关闭

  2. 2

    在WPF中关闭事件后保持应用程序运行

  3. 3

    C#WPF应用程序Webbrowser无法运行angularjs

  4. 4

    在后台运行的WPF应用程序

  5. 5

    WPF应用程序:无法捕获的异常?

  6. 6

    WPF应用程序在尝试查找静态资源时关闭

  7. 7

    WPF应用程序立即为用户关闭

  8. 8

    单击“ X”按钮时如何关闭WPF应用程序

  9. 9

    如果WPF应用程序强制关闭或崩溃,则处理WPF关闭事件

  10. 10

    如果WPF应用程序强制关闭或崩溃,则处理WPF关闭事件

  11. 11

    使用Caliburn.Micro的单实例WPF应用程序

  12. 12

    WPF拖放应用程序

  13. 13

    发布WPF应用程序

  14. 14

    运行WPF应用程序需要什么?

  15. 15

    在WPF应用程序的新Itemtab中运行exe文件

  16. 16

    运行WPF应用程序需要什么?

  17. 17

    无法将字体导入WPF应用程序

  18. 18

    无法在Expression Blend 4中打开WPF应用程序

  19. 19

    无法“附加”我的WPF项目中的多个应用程序

  20. 20

    无法在Travis CI上构建WPF应用程序

  21. 21

    当我关闭启动画面时 WPF 应用程序关闭

  22. 22

    从另一个WPF应用程序加载WPF应用程序程序集,出现错误:无法在同一AppDomain中创建多个System.Windows.Application实例

  23. 23

    运行WPF应用程序的可执行文件时,log4net无法正常工作

  24. 24

    C#WPF应用程序在Visual中启动,但在直接运行时无法启动

  25. 25

    运行WPF应用程序的可执行文件时,log4net无法正常工作

  26. 26

    CefSharp.Wpf - 应用程序在不安装 Visual Studios 的情况下无法在 Windows 7 上运行

  27. 27

    无法将图像添加到C#WPF .NetCore WPF应用程序

  28. 28

    WPF Prism +现有的WPF应用程序

  29. 29

    如何从另一个应用程序关闭WPF系统任务栏应用程序?

热门标签

归档