Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF树视图-选择EditemChanged Post Processing?_C#_Wpf_View_Tree - Fatal编程技术网

C#WPF树视图-选择EditemChanged Post Processing?

C#WPF树视图-选择EditemChanged Post Processing?,c#,wpf,view,tree,C#,Wpf,View,Tree,我有一个树视图,其中有一个简单的树。 我有一个非常简单的问题,关于如何解决我遇到的问题 一旦用户选择了一个新的树项目,我就在后台使用SelectedItemChanged事件运行一个小进程。该过程最多需要半秒到1.5秒 问题是GUI似乎运行得很慢。在后台运行的进程执行完毕之前,选中的树项将以蓝色突出显示 我认为,如果我能在树项以蓝色突出显示后了解如何运行该过程,那么GUI将看起来运行更平稳。对于用户来说,他们直观地看到他们更改了项目,当他们看到项目更改时,流程可能已经执行完毕 有人知道怎么做吗?

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

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

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

我认为,如果我能在树项以蓝色突出显示后了解如何运行该过程,那么GUI将看起来运行更平稳。对于用户来说,他们直观地看到他们更改了项目,当他们看到项目更改时,流程可能已经执行完毕

有人知道怎么做吗?

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

Task.Factory.StartNew(() => 
{ 
    // your code // 
};
如果需要引用该流程中的UI对象,则需要使用正确的dispatcher调用来访问它们:

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