コード例 #1
0
        public void NavigateBackstack(GhTreeItem ti)
        {
            for (var i = Breadcrumbs.Count() - 1; i >= 0; i--)
            {
                var item = Breadcrumbs[i];
                if (item != ti)   // TODO: Revisit this logic once we store page state
                {
                    Breadcrumbs.Remove(item);
                    continue;
                }
                break;
            }

            SelectPath(ti, insertInBackStack: false);
        }
コード例 #2
0
        private void SelectPath(GhTreeItem pathTreeItem, bool insertInBackStack = true)
        {
            PathItems = null;
            var    pathTree = this.PathTree;
            string path     = pathTreeItem.Path;

            if (null != pathTree && null != path)
            {
                if (pathTree.ContainsKey(path))
                {
                    var unsortedItems = pathTree[path];
                    PathItems = unsortedItems
                                .OrderBy(ti => ti.ItemTypeWeightForSorting)
                                .ThenBy(ti => ti.Name)
                                .ToList();

                    if (insertInBackStack)
                    {
                        Breadcrumbs.Add(pathTreeItem);
                    }
                }
            }
        }