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 后处理?的主要内容,如果未能解决你的问题,请参考以下文章