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

问题描述:

我在我的wpf应用程序中发生了一件非常奇怪的事情。我的WPF应用程序在奇怪的时刻关闭

每当我关闭某个东西(一个对话框,一个窗口等等),整个应用程序关闭,而不是只关闭的窗口/对话框。

这不仅发生在我直接调用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

好了,理解了它提出的问题后不久(当然...你通过一个小时知道,然后你发现问题的时刻后,您求助:d)

的问题是应用程序我正在从事的工作是由以前的员工开始的,我注意到他刚刚使用了一种奇怪的方式来启动应用程序。他主要通过应用程序实例的GUI,然后初始化与自身的实例应用程序......真不明白,为什么他做了一件如此怪异,反正我解决这个问题是这样的:

app.ShutdownMode = ShutdownMode.OnExplicitShutdown 

日Thnx无论如何的帮助! (它没有上升的方式...)

关注未处理异常: 开始在调试应用程序和打开窗口的例外(调试 - >我的机器上的异常或按Ctrl + Alt + E),并检查公共语言运行库异常Thrown列。 然后进行正常的操作并查看是否引发了未处理的异常。

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

+0

伟大的提示,只是节省了我的小时! – vaughan 2010-11-24 06:04:19

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