ApplicationGridView.axaml.cs
1 using Avalonia.Controls; 2 using Avalonia.Input; 3 using Avalonia.Interactivity; 4 using Ryujinx.Ava.UI.Helpers; 5 using Ryujinx.Ava.UI.ViewModels; 6 using Ryujinx.UI.App.Common; 7 using System; 8 9 namespace Ryujinx.Ava.UI.Controls 10 { 11 public partial class ApplicationGridView : UserControl 12 { 13 public static readonly RoutedEvent<ApplicationOpenedEventArgs> ApplicationOpenedEvent = 14 RoutedEvent.Register<ApplicationGridView, ApplicationOpenedEventArgs>(nameof(ApplicationOpened), RoutingStrategies.Bubble); 15 16 public event EventHandler<ApplicationOpenedEventArgs> ApplicationOpened 17 { 18 add { AddHandler(ApplicationOpenedEvent, value); } 19 remove { RemoveHandler(ApplicationOpenedEvent, value); } 20 } 21 22 public ApplicationGridView() 23 { 24 InitializeComponent(); 25 } 26 27 public void GameList_DoubleTapped(object sender, TappedEventArgs args) 28 { 29 if (sender is ListBox listBox) 30 { 31 if (listBox.SelectedItem is ApplicationData selected) 32 { 33 RaiseEvent(new ApplicationOpenedEventArgs(selected, ApplicationOpenedEvent)); 34 } 35 } 36 } 37 38 public void GameList_SelectionChanged(object sender, SelectionChangedEventArgs args) 39 { 40 if (sender is ListBox listBox) 41 { 42 (DataContext as MainWindowViewModel).GridSelectedApplication = listBox.SelectedItem as ApplicationData; 43 } 44 } 45 46 private void SearchBox_OnKeyUp(object sender, KeyEventArgs args) 47 { 48 (DataContext as MainWindowViewModel).SearchText = (sender as TextBox).Text; 49 } 50 } 51 }