| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using Avalonia.Controls;
- using Avalonia.Interactivity;
- using FluentAvalonia.UI.Controls;
- using FluentAvalonia.UI.Navigation;
- using Ryujinx.Ava.Ui.Controls;
- using Ryujinx.Ava.Ui.Models;
- using Ryujinx.Ava.Ui.ViewModels;
- using Ryujinx.HLE.FileSystem;
- namespace Ryujinx.Ava.Ui.Windows
- {
- public partial class AvatarWindow : UserControl
- {
- private NavigationDialogHost _parent;
- private TempProfile _profile;
- public AvatarWindow(ContentManager contentManager)
- {
- ContentManager = contentManager;
- DataContext = ViewModel;
- InitializeComponent();
- }
- public AvatarWindow()
- {
- InitializeComponent();
- AddHandler(Frame.NavigatedToEvent, (s, e) =>
- {
- NavigatedTo(e);
- }, RoutingStrategies.Direct);
- }
- private void NavigatedTo(NavigationEventArgs arg)
- {
- if (Program.PreviewerDetached)
- {
- if (arg.NavigationMode == NavigationMode.New)
- {
- (_parent, _profile) = ((NavigationDialogHost, TempProfile))arg.Parameter;
- ContentManager = _parent.ContentManager;
- if (Program.PreviewerDetached)
- {
- ViewModel = new AvatarProfileViewModel(() => ViewModel.ReloadImages());
- }
- DataContext = ViewModel;
- }
- }
- }
- public ContentManager ContentManager { get; private set; }
- internal AvatarProfileViewModel ViewModel { get; set; }
- private void CloseButton_OnClick(object sender, RoutedEventArgs e)
- {
- ViewModel.Dispose();
- _parent.GoBack();
- }
- private void ChooseButton_OnClick(object sender, RoutedEventArgs e)
- {
- if (ViewModel.SelectedIndex > -1)
- {
- _profile.Image = ViewModel.SelectedImage;
- ViewModel.Dispose();
- _parent.GoBack();
- }
- }
- }
- }
|