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

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

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

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

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

有人知道怎么做吗?

【问题讨论】:

    标签: c# wpf view tree


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-29
      • 2014-09-05
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多