在WPF中更新GUI的方法

时间:2011-10-20 04:48:32

标签: c# wpf backgroundworker dispatcher

我想问一下更新GUI的方法对我的方案更好。 我想根据用户触摸的输入,从一点到另一点操纵(移动)多个控件。

我知道一些不同的方法。 Dispatcher Timer&计时器。 (他们之间的区别是什么?) BackgroundWorker的。 故事板& BeginAnimation方法。

通常建议在内存和资源节省方面使用以下哪种方法,并且编码更简单?

谢谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

除了Vijay提供的链接之外,在操作视觉效果时,WPF应用程序中至关重要的常见概念是Dispatcher

简而言之,Dispatcher是UI的消息队列网关管理器,它接收委托并优先处理它们以在给定线程上执行。在WPF中,UI线程是STA。在UI线程上创建的任何视觉都具有线程亲和性,这意味着如果您正在执行任何多线程功能(以获得更快的性能),那么当涉及到操纵这些视觉效果时,例如更新它们的值,增加/减少它们的大小,聚焦它们,转换必须使用UI Dispatcher完成它们等。

现在回到你的情况,当你想移动物品时,translate transform animation是个不错的选择。

希望这能帮助你找到正确的方向。