![]() |
1
1
不幸的是你不能这么做。对uielements的所有更改都必须发生在ui线程上,而不管任何特定元素是否实际存在于可视化树中。 我假定您不希望将此逻辑放在UI线程上的原因是,它会导致UI在计算完成时锁定。解决此问题的一种方法是按照您的建议执行;使用Dispatcher.BeginInvoke。您可以调用单个文本块的计算,而不只是调用1000多个文本块的计算,然后在完成后调用下一个文本块,以此类推。您还可以使用DispatcherTimer来安排事件发生的时间。这样,您就可以拆分单个大型计算,从而使UI永远不会完全冻结;当然,完成计算需要更长的时间,但这样做时不会长时间锁定UI线程。 |
![]() |
Bigeyes · 如何在MVVM模式中添加行? 8 年前 |
![]() |
User9898 · 悬停回到原始颜色时为什么选择 9 年前 |
![]() |
Huma Ali · WCF已完成事件中的异常处理 9 年前 |
![]() |
Nerd in Training · 文件副本发布错误 10 年前 |