Обновить BindingList<> из фонового потока?

Мне было интересно, как я мог бы использовать Dispatcher в WPF для безопасного обновления моей коллекции BindingList из другого потока?

Я также открыт для других решений,

Большое спасибо, Каве

1 ответ

Решение

Я предпочитаю планирование Task в поток пользовательского интерфейса. Вы можете получить планировщик потока пользовательского интерфейса, вызвав TaskScheduler.FromCurrentSynchronizationContext в то время как в потоке пользовательского интерфейса. У MSDN есть пример здесь.

Я вообще предпочитаю SynchronizationContextрешения вместо Dispatcherрешения, потому что они не привязаны к WPF/Silverlight. Таким образом, можно написать общий слой бизнес-объектов, который обрабатывает синхронизацию, но может использоваться из WPF, ASP.NET, Windows Forms, Win32 Services и т. Д.

Другие вопросы по тегам