Методы обновления графического интерфейса в WPF - PullRequest
1 голос
/ 20 октября 2011

Я хотел бы спросить, какой метод обновления GUI лучше для моего сценария.Я хотел бы манипулировать (перемещать) несколькими элементами управления из точки в точку на основе ввода от прикосновений пользователя.

Я знаю несколько разных способов сделать это.Диспетчер Таймер и Таймер.(Какая разница между ними?) BackgroundWorker.Storyboard & BeginAnimation Method.

Какой из этих методов обычно рекомендуется использовать с точки зрения экономии памяти и ресурсов и проще для написания кода?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 октября 2011

Помимо ссылки, предоставленной Vijay, общая концепция, которая жизненно важна в приложении WPF при манипулировании визуалами: Диспетчер

Короче говоря, Диспетчер - это диспетчер шлюза очереди сообщений дляпользовательский интерфейс, который получает делегаты и назначает им приоритеты для выполнения в указанном потоке.В WPF потоком пользовательского интерфейса является STA.Кроме того, любой визуал, созданный в потоке пользовательского интерфейса, имеет сходство с потоком, что означает, что если вы выполняете какие-либо многопоточные функции (для повышения производительности), то тогда, когда дело доходит до манипулирования этими визуалами, например обновления их значений, увеличения / уменьшения их размера, фокусировки их, преобразованияих и т. д. необходимо выполнить с помощью диспетчера пользовательского интерфейса.

Теперь вернемся к вашей ситуации, когда вы хотите переместить элементы, анимация преобразования преобразования - хороший вариант.

Надеюсь, это поможет вам в правильном направлении.

0 голосов
/ 20 октября 2011
...