【问题标题】:My WPF application closes at weird moments我的 WPF 应用程序在奇怪的时刻关闭
【发布时间】:2009-11-18 11:42:16
【问题描述】:

我的 wpf 应用程序中发生了一件非常奇怪的事情。

每次我关闭某些东西(对话框、窗口等)时,整个应用程序都会关闭,而不仅仅是关闭的窗口/对话框。

这不仅发生在我直接调用 Close 方法时,还发生在元素自行关闭时,例如:当我在 Dialog 上单击“确定”并从 ShowDialog() 方法返回时。

此外,这不会立即发生,而只会在发生关闭事件的方法时发生。这是一个更好地解释它的例子:

    Public Sub addNewCanvas(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    Dim dlg As New addCanvasDgBox
    Dim result As Nullable(Of Boolean) = dlg.ShowDialog
    'The following if is executed, and so is the addCanvas() method
    If (result = True) Then
        addCanvas()
    End If
End Sub
'Here comes the problem: efter the routine is ended instead of returning
'to the normal execution, the entire App.Run() method returns, closing the application

我真的不明白为什么会发生这种情况......没有引发异常,输出日志或visualStudio无话可说,所有变量都正确赋值。

如果你们有任何想法,请告诉我!它快把我逼疯了! 提前致谢。

大师_T

【问题讨论】:

    标签: .net wpf vb.net visual-studio


    【解决方案1】:

    注意未处理的异常: 在调试中启动应用程序并打开异常窗口(debug->exceptions 或 Ctrl+Alt+E 在我的机器上)并检查 Common Language Runtime ExceptionsThrown 列. 然后进行正常操作,看看是否抛出了未处理的异常。

    如果这让你更接近问题,请告诉我。

    【讨论】:

    • 很棒的提示,只是节省了我几个小时!
    【解决方案2】:

    好的,在提出问题后不久就想通了(当然……您花了一个小时想知道,然后在您寻求帮助后发现问题时刻:D)

    问题是我正在开发的应用程序是由以前的员工启动的,我刚才注意到他使用了一种奇怪的方式来启动应用程序。他基本上将应用程序实例传递给 GUI,然后用它自己的实例初始化应用程序......真的不明白他为什么做了这么奇怪的事情,反正我是这样解决问题的:

    app.ShutdownMode = ShutdownMode.OnExplicitShutdown
    

    无论如何感谢您的帮助! (顺便说一句,它没有出现任何异常......)

    【讨论】:

      【解决方案3】:

      也许有一个未处理的异常发生,你没有捕捉到。尝试将事件处理程序附加到应用程序类DispatcherUnhandledException 事件。

      【讨论】:

        猜你喜欢
        • 2020-04-15
        • 1970-01-01
        • 2014-01-03
        • 2017-01-02
        • 2011-02-09
        • 2016-07-27
        • 2019-01-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多