Comments 10
спасибо
перенесите пожалуйста статью в блог (.NET или WPF), чтобы она смогла выйти на главную Хабра
перенесите пожалуйста статью в блог (.NET или WPF), чтобы она смогла выйти на главную Хабра
While items ARE loading
Статья действительно отличная, спасибо
backgroundworker разве для этого не подходит?
Спасибо за статью.
Спасибо за статью.
Подходит. Но это для того случая, если требуется выполнить некоторое действие в фоне. Здесь же основной акцент на Binding и то, что не приходится прилагать усилий — ядро WPF сделает все само. А с BackgroundWorker вам придется попыхтеть с реализацией правильной синхронизации. Да и работа с ним в рамках связывания данных не совсем простая — поверьте, приходилось сталкиваться.
Вообще для реализации операций с потоками в UI лучше использовать более новую концепцию — класс Dispatcher. Дизайнеры .NET Framework рекомендуют использовать этот класс вместо BackgroundWorker, который считается устаревшей концепцией .NET Framework 2.0.
Вообще для реализации операций с потоками в UI лучше использовать более новую концепцию — класс Dispatcher. Дизайнеры .NET Framework рекомендуют использовать этот класс вместо BackgroundWorker, который считается устаревшей концепцией .NET Framework 2.0.
Маленькое дополнение — надо было сразу об этом сказать. Dispatcher, на мой взгляд, лучше ложится в схему приложения, использующего паттерн MVVM. Это сугубо из личного опыта — мне гораздо удобнее стало, когда я перешел на использование Dispatcher. Поскольку там вы свободно можете выполнять код в потоке UI Dispatcher. При использовании BackgroundWorker у вас такой возможности нет. Да и информацию о прогрессе вы можете передать только в рамках навазываемого коллбэка private void ProgressChanged(object sender, ProgressChangedEventArgs e), что накладывает определенные ограничения.
Sign up to leave a comment.
«Оживление» пользовательского интерфейса