Ejemplo n.º 1
0
        /// <summary>
        /// 执行页面后退
        /// </summary>
        /// <returns></returns>
        public static async void GoBack()
        {
            if (SysVisual.ExistDlg)
            {
                Dlg dlg = SysVisual.GetTopDlg() as Dlg;
                if (dlg != null)
                {
                    dlg.Close();
                }
                return;
            }

            var frame = SysVisual.RootFrame;

            if (frame.CanGoBack)
            {
                if (frame.Content is PhonePage page)
                {
                    // 因OnNavigatingFrom中的取消导航无法实现异步!在此处判断
                    if (await page.IsAllowBack())
                    {
                        frame.GoBack();
                    }
                }
                else
                {
                    frame.GoBack();
                }
            }
        }
Ejemplo n.º 2
0
 static void OnItemsChanged(object sender, ItemListChangedArgs e)
 {
     if (e.CollectionChange == CollectionChange.ItemInserted || e.CollectionChange == CollectionChange.ItemChanged)
     {
         var info = ((ItemList <NotifyInfo>)sender)[e.Index];
         SysVisual.InsertNotifyItem(e.Index, new NotifyItem(info));
     }
     else if (e.CollectionChange == CollectionChange.ItemRemoved)
     {
         SysVisual.RemoveNotifyItem(e.Index);
     }
     else
     {
         SysVisual.ClearAllNotify();
     }
 }