Есть ли какой-то механизм, чтобы отправить событие из фоновой задачи в основной проект по обновлению пользовательского интерфейса?
Вы можете зарегистрировать Completed
событие фоновой задачи и обновления пользовательского интерфейса в Completed
события:
Регистрация полное событие:
var registration= taskBuilder.Register();
registration.Completed += Registration_Completed;
private async void Registration_Completed(BackgroundTaskRegistration sender, BackgroundTaskCompletedEventArgs args)
{
var settings = ApplicationData.Current.LocalSettings;
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>
{
tbResult.Text=settings.Values["BackgroundResult"].ToString();
});
}
Xaml:
<StackPanel VerticalAlignment="Center">
<Button Name="btnRegister" Click="btnRegister_Click">
Click Me to register BT
</Button>
<TextBlock Name="tbResult">
Here will show the result
</TextBlock>
</StackPanel>
И вот полная демонстрация: BackgroundTaskSample.
CoreApplication.MainView.CoreWindow – lindexi