我有几个项目,每个项目都有UserControl来管理它们。所有项目都在一个解决方案中,并且同时工作。所有的UserControls都在TabControl中。但是如果一个项目没有处理他的异常,所有的解决方案都会失败。如何在另一个线程中运行每个UserControl?
我有几个类,它们是MVVM中的模型。它们都有ViewModel和视图。现在所有的类都在一个线程中启动和工作。如果其中一个抛出exception<,则所有应用程序都将失败。我想让所有的模型在单独的线程中工作。但是所有模型的视图都在TabControl中。我该如何组织这个方案?
发布于 2013-06-26 23:34:20
你不能。WPF有并且只有一个用户界面线程。从后台线程修改用户界面元素将不起作用,并将引发异常。(编辑:这并不完全正确,显然这是可能的start individual windows in their own threads。)
如果您遇到未捕获异常的问题,请查看Application.DispatcherUnhandledException event,它允许您为完整的WPF应用程序注册一个中央异常处理程序。如果在DispatcherUnhandledException处理程序的末尾设置e.Handled = true;,异常将导致应用程序回退到用户界面,而不是终止应用程序。
更多信息:
https://stackoverflow.com/questions/17324321
复制相似问题