private async Task LoadNavBarLayouts()
        {
            foreach (var layoutType in (NavBarLayoutType[])Enum.GetValues(typeof(NavBarLayoutType)))
            {
                ResourceDictionary dictionary = await TabLayoutsManager.GetLayout(NavBar, layoutType.ToString())
                                                .ConfigureAwait(true);

                if (dictionary == null)
                {
                    continue;
                }

                foreach (var pageName in (string[])dictionary["TriggeredOnPages"])
                {
                    Type pageType = Type.GetType($"Memenim.Pages.{pageName}");

                    if (pageType == null)
                    {
                        continue;
                    }

                    if (!_navBarPagesLayouts.ContainsKey(pageType))
                    {
                        _navBarPagesLayouts.Add(pageType, layoutType);
                    }
                }
            }
        }
Exemple #2
0
        public async Task SwitchLayout(NavBarLayoutType type)
        {
            ResourceDictionary dictionary = await TabLayoutsManager.GetLayout(this, type.ToString())
                                            .ConfigureAwait(true);

            if (dictionary == null)
            {
                return;
            }

            ChangeButtons(TopNavButtons, (NavRedirectButtonNode[])dictionary[nameof(TopNavButtons)]);
            ChangeButtons(CentralNavButtons, (NavRedirectButtonNode[])dictionary[nameof(CentralNavButtons)]);
            ChangeButtons(BottomNavButtons, (NavRedirectButtonNode[])dictionary[nameof(BottomNavButtons)]);
        }