示例#1
0
        Task IShellItemController.GoToPart(List <string> parts, Dictionary <string, string> queryData)
        {
            var shellSectionRoute = parts[0];

            var items = Items;

            for (int i = 0; i < items.Count; i++)
            {
                var shellSection = items[i];
                if (Routing.CompareRoutes(shellSection.Route, shellSectionRoute, out var isImplicit))
                {
                    Shell.ApplyQueryAttributes(shellSection, queryData, parts.Count == 1);

                    if (CurrentItem != shellSection)
                    {
                        SetValueFromRenderer(CurrentItemProperty, shellSection);
                    }

                    if (!isImplicit)
                    {
                        parts.RemoveAt(0);
                    }
                    if (parts.Count > 0)
                    {
                        return(((IShellSectionController)shellSection).GoToPart(parts, queryData));
                    }
                    break;
                }
            }
            return(Task.FromResult(true));
        }
示例#2
0
		internal Task GoToPart(NavigationRequest request, Dictionary<string, string> queryData)
		{
			var shellSection = request.Request.Section;

			if (shellSection == null)
				shellSection = ShellItemController.GetItems()[0];

			Shell.ApplyQueryAttributes(shellSection, queryData, request.Request.Content == null);

			if (CurrentItem != shellSection)
				SetValueFromRenderer(CurrentItemProperty, shellSection);

			return shellSection.GoToPart(request, queryData);
		}
示例#3
0
        internal Task GoToPart(NavigationRequest request, Dictionary <string, string> queryData)
        {
            var shellSection = request.Request.Section;

            if (shellSection == null)
            {
                return(Task.FromResult(true));
            }

            Shell.ApplyQueryAttributes(shellSection, queryData, request.Request.Content == null);

            if (CurrentItem != shellSection)
            {
                SetValueFromRenderer(CurrentItemProperty, shellSection);
            }

            return(shellSection.GoToPart(request, queryData));
        }