Ejemplo n.º 1
0
 public static async Task Navigate(this INavigation navigation, ItemViewModel item, IEnumerable <SchemaBase> items)
 {
     if (item.NavInfo != null)
     {
         if (item.NavInfo.NavigationType == NavType.Page)
         {
             if (item.NavInfo.IsDetail)
             {
                 var param = new NavDetailParameter
                 {
                     SelectedId = item.Id,
                     Items      = items
                 };
                 await navigation.NavigateToPage(item.NavInfo.TargetPage, param);
             }
             else
             {
                 await navigation.NavigateToPage(item.NavInfo.TargetPage);
             }
         }
         else if (item.NavInfo.NavigationType == NavType.DeepLink)
         {
             Device.OpenUri(item.NavInfo.TargetUri);
         }
     }
 }
 public static void Navigate(ItemViewModel item, IEnumerable <SchemaBase> items)
 {
     if (item.NavInfo != null)
     {
         if (item.NavInfo.NavigationType == NavType.Page)
         {
             if (item.NavInfo.IsDetail)
             {
                 var param = new NavDetailParameter
                 {
                     SelectedId = item.Id,
                     Items      = items
                 };
                 NavigationService.NavigateToPage(item.NavInfo.TargetPage, param);
             }
             else
             {
                 NavigationService.NavigateToPage(item.NavInfo.TargetPage);
             }
         }
         else if (item.NavInfo.NavigationType == NavType.DeepLink)
         {
             Launcher.LaunchUriAsync(item.NavInfo.TargetUri).AsTask().FireAndForget();
         }
     }
 }
        public override async Task LoadStateAsync(NavDetailParameter detailParameter)
        {
            await base.LoadStateAsync(detailParameter);

            RelatedContentStatus = "LoadingRelatedContent".StringResource();

            var originalSelected = detailParameter.Items.FirstOrDefault(i => i._id == detailParameter.SelectedId);

            if (originalSelected != null)
            {
                await _list.LoadDataAsync(false, originalSelected);
            }

            if (_list.Items == null || _list.Items.Count == 0)
            {
                RelatedContentStatus = "ThereIsNotRelatedContent".StringResource();
                _list.HasMorePages   = false;
            }
            else
            {
                RelatedContentStatus = string.Empty;
            }
            CanLoadMorePages = _list.HasMorePages;
        }
Ejemplo n.º 4
0
 public abstract Task LoadStateAsync(NavDetailParameter detailParameter);