gpt4 book ai didi

wpf - WPF中的多线程

转载 作者:行者123 更新时间:2023-12-03 13:20:32 24 4
gpt4 key购买 nike

我有几个项目,每个项目都有UserControl来管理它们。所有项目都在一个解决方案中,并且可以同时工作。所有的UserControls都在TabControl中。但是,如果一个项目不处理他的异常,那么所有解决方案都会失败。如何在另一个线程中运行每个UserControl?

我有几个类,它们是MVVM中的模型。它们都具有ViewModel和View。现在,所有类都在一个线程中启动并工作。如果其中之一引发异常<,则所有应用程序都将失败。我想让所有模型都在单独的线程中工作。但是,所有Taht模型的View都在TabControl中。我如何组织这个sheme?

最佳答案

你不能WPF只有一个用户界面线程。从后台线程修改用户界面元素将不起作用,并且会引发异常。 (编辑:这并不完全正确,显然可以start individual windows in their own threads。)

如果您对未捕获的异常有疑问,请查看Application.DispatcherUnhandledException event,它使您可以为完整的WPF应用程序注册一个中央异常处理程序。如果在DispatcherUnhandledException处理程序的末尾设置e.Handled = true;
,则异常将导致您的应用程序退回到用户界面,而不是终止应用程序。

更多信息:

  • WPF global exception handler
  • 关于wpf - WPF中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17324321/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com