具有后台线程的MVVM应用程序不会关闭

时间:2016-05-31 09:15:30

标签: c# wpf multithreading mvvm-light

我正在使用MVVM Light,在我的视图模型中,我初始化一个必须持续等待新呼叫的Phone对象。

线程声明如下: coreLoop = new Thread(LinphoneMainLoop); coreLoop.IsBackground = false; coreLoop.Start();

关闭主窗口时,应用程序永远不会关闭。 我尝试了ViewModel.Cleanup,析构函数,并实现了IDisposable。 这些方法都没有奏效,没有一个达到断点。

我也希望避免处理主窗口的关闭事件。

1 个答案:

答案 0 :(得分:0)

您应该阅读此page的备注部分。

如果Thread对象属性IsBackground未设置为true,则表示它是Foreground线程,应用程序必须等待它完成才能关闭进程。如果它是Background线程,这意味着它将终止线程而不等待它完成。