我的WPF应用程序在奇怪的时刻关闭

时间:2009-11-18 11:42:16

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

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

每当我关闭某个东西(一个对话框,一个窗口等......)时,ENTIRE应用程序就会关闭,而不是只关闭正在关闭的窗口/对话框。

这不仅发生在我直接调用Close方法时,而且当元素单独关闭时,例如:当我在Dialog上单击“OK”并从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无话可说,所有变量都被正确定价。

如果您有任何想法,请告诉我们!这让我疯了! 提前谢谢。

Master_T

3 个答案:

答案 0 :(得分:1)

留意未处理的例外情况: 在调试中启动应用程序并打开例外窗口(调试 - >例外或我的机器上的Ctrl + Alt + E)并检查公共语言运行时例外投掷柱。 然后执行正常操作,看看是否抛出任何未处理的异常。

让我知道这是否让你更接近问题。

答案 1 :(得分:1)

好的,在提出问题后不久就知道了(当然......你通过了一个小时想知道,然后你在寻求帮助后找到问题的时刻:D)

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

app.ShutdownMode = ShutdownMode.OnExplicitShutdown

Thnx无论如何都要求帮助! (顺便说一下,它没有任何例外......)

答案 2 :(得分:0)

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