通过引用从后台线程更新TreeView节点



我有一个有许多节点的TreeView。我有一个后台工作器,它遍历节点并添加节点或更新Checked属性。是否有可能从我的后台线程更新节点,如果我传递节点到后台线程作为引用(我使用SyncronizationContext类来更新在主线程上创建的控件)?只是好奇如果我能或不能,因为它是大量的编程变化,如果我能/不能从我的后台线程。

你不能在UI线程之外更新控件。但是你可以使用Application.Current.Dispatcher.Invoke (WPF)或Control.Invoke (WinForms)在UI线程上调用一些函数。您应该记住,这些操作将在主线程上执行,如果您试图在这里执行一些耗时的操作,可能会导致应用程序无响应

最新更新