我的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列。 然后进行正常的操作并查看是否引发了未处理的异常。
让我知道这是否让你更接近问题。
答
也许有一个未处理的异常发生,你没有捕获。尝试将事件处理程序附加到应用程序类DispatcherUnhandledException
事件。
伟大的提示,只是节省了我的小时! – vaughan 2010-11-24 06:04:19