2016-09-16 2 views
1

Я реализовал приложение в Windows Phone 10.Отправить события от фоновых задач для UI

В моей фоновой задачи, в то время как приложение работает несколько рабочих мест, он хочет, чтобы позвонить в основной проект и обновление пользовательского интерфейса в режиме реального времени ,

Есть ли какой-либо механизм для отправки события из фоновой задачи в основной проект для обновления интерфейса?

ответ

0
  //backTask 
      await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, 
      () => 
      { 
       //update ui 
       UIAction.?Invoke(); 
      }); 
0

Есть ли какой-то механизм, чтобы отправить событие из фоновой задачи в основной проект по обновлению пользовательского интерфейса?

Вы можете зарегистрировать 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.

+0

CoreApplication.MainView.CoreWindow – lindexi

Смежные вопросы