2016-08-21 9 views
0

私はLoopしてBusyページを表示していますが、いくつかのメソッドはTemplate10で自分のProjectで作業しています。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ページを使用するには、タスクの前に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);