Код: Выделить всё
_backgroundWork.BackgroundEvent += (sender, args) => DoSomethingForUI();
private void DoSomethingForUI()
{
Application.Current.Dispatcher.Invoke(new Action(() => { /* Something for UI */ }));
}
Код: Выделить всё
_backgroundWork.BackgroundEvent += (sender, args) => DoSomethingForUI();
private async void DoSomethingForUI()
{
await _joinableTaskFactory.SwitchToMainThreadAsync();
/* Do something for UI */
}
Код: Выделить всё
_backgroundWork.BackgroundEvent += (sender, args) => DoSomethingForUI();
private void DoSomethingForUI()
{
_joinableTaskFactory.RunAsync(async () =>
{
await _joinableTaskFactory.SwitchToMainThreadAsync();
/* Do something for UI */
});
}
Код: Выделить всё
_backgroundWork.BackgroundEvent += (sender, args) => DoSomethingForUI();
private void DoSomethingForUI()
{
_joinableTaskFactory.Run(async () =>
{
await _joinableTaskFactory.SwitchToMainThreadAsync();
/* Do something for UI */
});
}
Я все еще в замешательстве. Как правильно обрабатывать фоновое событие в основном потоке?
Подробнее здесь: https://stackoverflow.com/questions/781 ... ain-thread
Мобильная версия