/// <summary> /// Changes the MainPage of the mobile app to the chosen stack /// </summary> /// <param name="stack"></param> public async Task LoadStack(StackEnum stack, INavigationArgs navigationArgs = null) { using (var releaser = await _lock.LockAsync()) { if (stack == _currentStack) { return; } var stackInstance = _stacks[stack]; // Register Services await stackInstance.InitializeServices(navigationArgs); // Change MainPage App.Current.MainPage = stackInstance.MainPage; _currentStack = stack; } }
/// <summary> /// Changes the MainPage of the mobile app to the chosen stack /// </summary> /// <param name="stack"></param> public async Task LoadStack(StackEnum stack) { using (var releaser = await _lock.LockAsync()) { if (stack == _currentStack) return; // Unregister all current services UnRegisterServices(); var stackInstance = _stacks[stack]; // Register Services await stackInstance.RegisterServices(); // Change MainPage App.Current.MainPage = stackInstance.MainPage; _currentStack = stack; } }