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); } } } }
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)]); }