UserRecoverer.axaml.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Avalonia;
  2. using Avalonia.Controls;
  3. using Avalonia.Interactivity;
  4. using Avalonia.Markup.Xaml;
  5. using FluentAvalonia.UI.Controls;
  6. using FluentAvalonia.UI.Navigation;
  7. using Ryujinx.Ava.UI.Models;
  8. using Ryujinx.Ava.UI.ViewModels;
  9. namespace Ryujinx.Ava.UI.Controls
  10. {
  11. public partial class UserRecoverer : UserControl
  12. {
  13. private UserProfileViewModel _viewModel;
  14. private NavigationDialogHost _parent;
  15. public UserRecoverer()
  16. {
  17. InitializeComponent();
  18. AddHandler(Frame.NavigatedToEvent, (s, e) =>
  19. {
  20. NavigatedTo(e);
  21. }, RoutingStrategies.Direct);
  22. }
  23. private void NavigatedTo(NavigationEventArgs arg)
  24. {
  25. if (Program.PreviewerDetached)
  26. {
  27. switch (arg.NavigationMode)
  28. {
  29. case NavigationMode.New:
  30. var args = ((NavigationDialogHost parent, UserProfileViewModel viewModel))arg.Parameter;
  31. _viewModel = args.viewModel;
  32. _parent = args.parent;
  33. break;
  34. }
  35. DataContext = _viewModel;
  36. }
  37. }
  38. }
  39. }