如何在后台线程中访问 TreeViewItem 的 Tag 属性?

How can I access Tag property of TreeViewItem in a background thread?

我在 wpf 中有一个树视图 window。对于树视图中的每个树视图项目,我将相关对象存储在其标签中 property.I 正在树视图上实现搜索功能。我 运行 在不同的线程中搜索,以免阻塞 UI。在搜索操作期间,我搜索存储在树视图项的标签 属性 中的对象中的信息。但问题是标签 属性 无法在不同的线程中访问。我不想使用树视图的调度程序来访问标签 属性,因为程序将在每个标签访问时在 UI 线程和后台线程之间切换。那么 运行 在后台进行搜索就没有意义了。我能做什么?

What can I do?

不能从最初创建它的线程以外的任何其他线程访问TreeViewItemTag属性,那是 UI/dispatcher 线程。

因此您将不得不使用调度程序将访问 属性 的代码编组回 UI 线程,运行 UI 上的所有代码线程,或使用不使用 Tag 属性 的不同方法来存储有关相关对象的信息。

恐怕这些是你唯一的选择。