PageSwitcher.xaml.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Shapes;
  14. namespace WinUI
  15. {
  16. /// <summary>
  17. /// Interaction logic for PageSwitcher.xaml
  18. /// </summary>
  19. public partial class PageSwitcher : Window
  20. {
  21. public PageSwitcher()
  22. {
  23. InitializeComponent();
  24. Switcher.pageSwitcher = this;
  25. CentralAPI api = CentralAPI.Instance;
  26. if (api.HasAccessToken())
  27. {
  28. Switcher.Switch(new OnboardProcess.CreateOrJoin());
  29. }
  30. else
  31. {
  32. Switcher.Switch(new OnboardProcess.RegisterOrLogIn());
  33. }
  34. }
  35. public void Navigate(UserControl nextPage)
  36. {
  37. this.Content = nextPage;
  38. }
  39. public void Navigate(UserControl nextPage, object state)
  40. {
  41. this.Content = nextPage;
  42. ISwitchable s = nextPage as ISwitchable;
  43. if (s != null)
  44. s.UtilizeState(state);
  45. else
  46. throw new ArgumentException("NextPage is not ISwitchable! "
  47. + nextPage.Name.ToString());
  48. }
  49. }
  50. }