C# WPF Treeview - SelectedItemChanged 后处理?

Posted

技术标签:

【中文标题】C# WPF Treeview - SelectedItemChanged 后处理?【英文标题】:C# WPF Tree View - SelectedItemChanged Post Processing? 【发布时间】:2015-06-11 20:03:16 【问题描述】:

我有一个树视图,里面有一棵简单的树。 我有一个非常简单的问题,关于如何解决我遇到的问题。

一旦用户选择了一个新的树项目,我就会使用 SelectedItemChanged 事件在后台运行一个小进程。该过程最多需要半秒到 1.5 秒。

问题在于 GUI 似乎运行缓慢。在后台运行的进程执行完毕之前,被选中的树项会以蓝色突出显示。

如果我知道如何在树项目以蓝色突出显示后运行该进程,我认为它会使 GUI 看起来运行更流畅。对于用户来说,他们可以直观地看到他们更改了项目,并且当他们看到项目更改时,流程可能已经执行完毕。

有人知道怎么做吗?

【问题讨论】:

【参考方案1】:

在新线程的“SelectedItemChanged”事件中生成进程:

Task.Factory.StartNew(() => 
 
    // your code // 
;

如果您需要在该进程中引用 UI 对象,则需要使用正确的调度程序调用来访问它们:

Dispatcher.BeginInvoke(new Action(() =>  // ui thread tasks here // ;

【讨论】:

以上是关于C# WPF Treeview - SelectedItemChanged 后处理?的主要内容,如果未能解决你的问题,请参考以下文章

C# winform treeview

C# WPF TreeView用法实例解析

c# treeview 字体大小

c# Winform给treeview添加图标问题

c# winform 里TreeView的使用

求教:c# wpf treeView如何知道怎么选中了哪个子树?