WPF用户界面未更新,不确定为什么吗?

时间:2018-07-29 15:15:48

标签: c# wpf async-await task

我的应用程序中存在一个计时器,该计时器导致过多的线程锁定,因此我决定将计时器替换为循环运行的任务。现在,使用任务时,我的UI属性无法正确更新。我认为这是一个线程问题,因此我将UI更新移出了任务并使用了await,但是UI仍然无法正常工作。在调试中,我将代码跟随到UI上,并且它位于具有正确数据的主线程上,但是UI从未更新。症状是冻结的UI和不断增长的进程​​内存。我不知道如何解决此问题。也许有人可以提供帮助?

line ABC: 172.0.20.30: No such file or directory
line ABC: 678.0.0.10: No such file or directory

1 个答案:

答案 0 :(得分:0)

Reactive extensions似乎是更适合这种用法的库:

Observable
    .Interval(TimeSpan.FromSeconds(1), ThreadPoolScheduler.Instance)
    .Do(_ => MoveAxes())
    .SubscribeOn(DispatcherScheduler.Current)
    .Subscribe(_ => UpdateUi());