我想问一下更新GUI的方法对我的方案更好。 我想根据用户触摸的输入,从一点到另一点操纵(移动)多个控件。
我知道一些不同的方法。 Dispatcher Timer&计时器。 (他们之间的区别是什么?) BackgroundWorker的。 故事板& BeginAnimation方法。
通常建议在内存和资源节省方面使用以下哪种方法,并且编码更简单?
谢谢!
答案 0 :(得分:0)
我认为这3个SO QA应该有助于你理解所有的差异:
DispatcherTimer vs a regular Timer in WPF app for a task scheduler
答案 1 :(得分:0)
除了Vijay提供的链接之外,在操作视觉效果时,WPF应用程序中至关重要的常见概念是Dispatcher
简而言之,Dispatcher是UI的消息队列网关管理器,它接收委托并优先处理它们以在给定线程上执行。在WPF中,UI线程是STA。在UI线程上创建的任何视觉都具有线程亲和性,这意味着如果您正在执行任何多线程功能(以获得更快的性能),那么当涉及到操纵这些视觉效果时,例如更新它们的值,增加/减少它们的大小,聚焦它们,转换必须使用UI Dispatcher完成它们等。
现在回到你的情况,当你想移动物品时,translate transform animation是个不错的选择。
希望这能帮助你找到正确的方向。