[Windows 8]生命週期事件處理-----應用恢復

[Windows 8]生命週期事件處理-----應用恢復

 

與應用暫停相似,為了在暫停應用被切換回前台時,利用 resuming 事件刷新應用數據

我們為 resuming事件註冊處理方法 OnResuming ,程式碼如下:

        public class MainPage
        {
            public MainPage()
            {
                InitializeComponent();
                App.Current.Resuming += new Windows.UI.Xaml.EventHandler(OnResuming);
            }
         } 

 

恢復事件不會上升到UI線程中出現,但透過Dispatcher 可以更新 UI 數據

程式碼如下:

            CoreDispatcher dispatcher = Windows.Current.Dispatcher;
            private void OnResuming(object sender, object e)
            {
                dispatcher.Invoke(CoreDispatcherPriority.Normal, (object invokedSender, InvokedHandlerArgs invokedArgs) =>
                    {
                        //TODO:刷新數據
                    },this ,null);
            }

程式碼使用Dispatcher 的 Invoke方法實現UI更新,方法的第一個參數指定 OnResuming 方法

第二個參數接收一個委託對象,在這個委託對象中刷新應用數據,像用戶顯示最新內容