2016-08-21 4 views
0

Я собираюсь показать показ Занятой страницы, тем временем некоторые методы работают над моим проектом с Template10.Template10 Show Busy Task Delay

В настоящее время я реализовал:

await Task.Run(() => Methods()); 

Я думаю, что это не правильно, потому что использование таким образом некоторые методы (с петлями) сломаны и bindablebase тоже.

Мой код:

private static void SetBusy_NewProject(bool busy, string text = null) 
{ 
    WindowWrapper.Current().Dispatcher.Dispatch(async() => 
    { 
     var modal = Window.Current.Content as ModalDialog; 
     var view = modal.ModalContent as Busy; 
     if (view == null) 
      modal.ModalContent = view = new Busy(); 
     modal.IsModal = view.IsBusy = busy; 
     view.BusyText = text; 

     await Task.Run(() => Methods.Groups.Body());     
     await Task.Run(() => Methods.Groups.Steel()); 
     await Task.Run(() => Methods.Groups.CU()); 
     await Task.Run(() => Methods.Groups.FP()); 

     await Task.CompletedTask; 
     SetBusy_NewProject(false); 

    }); 
} 

Можете ли вы сказать мне правильный путь, чтобы показать Занято страницу тем временем некоторые методы работают.

Любая помощь приветствуется.

ответ

1

Для использования страницы Template10 Busy в шаблоне Hamburger вам нужно только вызвать метод Views.Busy.SetBusy(true, "My Loading text") перед Задачами и Views.Busy.SetBusy(false) после ожидаемых задач. Нет необходимости копировать код класса Busy. Например:

Views.Busy.SetBusy(true, "My Loading text"); 

await Task.Run(() => Methods.Groups.Body());     
await Task.Run(() => Methods.Groups.Steel()); 
await Task.Run(() => Methods.Groups.CU()); 
await Task.Run(() => Methods.Groups.FP()); 

Views.Busy.SetBusy(false); 

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

  • Нет связанных вопросов^_^