/ src / Ryujinx / UI / Views / Main / MainViewControls.axaml.cs
MainViewControls.axaml.cs
 1  using Avalonia;
 2  using Avalonia.Controls;
 3  using Avalonia.Input;
 4  using Avalonia.Interactivity;
 5  using Ryujinx.Ava.Common;
 6  using Ryujinx.Ava.UI.ViewModels;
 7  using Ryujinx.Ava.UI.Windows;
 8  using System;
 9  
10  namespace Ryujinx.Ava.UI.Views.Main
11  {
12      public partial class MainViewControls : UserControl
13      {
14          public MainWindowViewModel ViewModel;
15  
16          public MainViewControls()
17          {
18              InitializeComponent();
19          }
20  
21          protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
22          {
23              base.OnAttachedToVisualTree(e);
24  
25              if (VisualRoot is MainWindow window)
26              {
27                  ViewModel = window.ViewModel;
28              }
29  
30              DataContext = ViewModel;
31          }
32  
33          public void Sort_Checked(object sender, RoutedEventArgs args)
34          {
35              if (sender is RadioButton button)
36              {
37                  ViewModel.Sort(Enum.Parse<ApplicationSort>(button.Tag.ToString()));
38              }
39          }
40  
41          public void Order_Checked(object sender, RoutedEventArgs args)
42          {
43              if (sender is RadioButton button)
44              {
45                  ViewModel.Sort(button.Tag.ToString() != "Descending");
46              }
47          }
48  
49          private void SearchBox_OnKeyUp(object sender, KeyEventArgs e)
50          {
51              ViewModel.SearchText = SearchBox.Text;
52          }
53      }
54  }