ApplicationGridView.axaml
1 <UserControl 2 x:Class="Ryujinx.Ava.UI.Controls.ApplicationGridView" 3 xmlns="https://github.com/avaloniaui" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls" 6 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 7 xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers" 8 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 9 xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia" 10 d:DesignHeight="450" 11 d:DesignWidth="800" 12 Focusable="True" 13 mc:Ignorable="d" 14 xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels" 15 x:DataType="viewModels:MainWindowViewModel"> 16 <UserControl.Resources> 17 <helpers:BitmapArrayValueConverter x:Key="ByteImage" /> 18 <controls:ApplicationContextMenu x:Key="ApplicationContextMenu" /> 19 </UserControl.Resources> 20 <Grid> 21 <Grid.RowDefinitions> 22 <RowDefinition Height="*" /> 23 </Grid.RowDefinitions> 24 <ListBox 25 Grid.Row="0" 26 Padding="8" 27 HorizontalAlignment="Stretch" 28 VerticalAlignment="Stretch" 29 ContextFlyout="{StaticResource ApplicationContextMenu}" 30 DoubleTapped="GameList_DoubleTapped" 31 ItemsSource="{Binding AppsObservableList}" 32 SelectionChanged="GameList_SelectionChanged"> 33 <ListBox.ItemsPanel> 34 <ItemsPanelTemplate> 35 <WrapPanel 36 HorizontalAlignment="Center" 37 VerticalAlignment="Top" 38 Orientation="Horizontal" /> 39 </ItemsPanelTemplate> 40 </ListBox.ItemsPanel> 41 <ListBox.Styles> 42 <Style Selector="ListBoxItem"> 43 <Setter Property="Margin" Value="5" /> 44 <Setter Property="CornerRadius" Value="4" /> 45 </Style> 46 <Style Selector="ListBoxItem:selected /template/ Rectangle#SelectionIndicator"> 47 <Setter Property="MinHeight" Value="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).GridItemSelectorSize}" /> 48 </Style> 49 </ListBox.Styles> 50 <ListBox.ItemTemplate> 51 <DataTemplate> 52 <Grid> 53 <Border 54 Margin="10" 55 HorizontalAlignment="Stretch" 56 VerticalAlignment="Stretch" 57 Classes.huge="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridHuge}" 58 Classes.large="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridLarge}" 59 Classes.normal="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridMedium}" 60 Classes.small="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).IsGridSmall}" 61 ClipToBounds="True" 62 CornerRadius="4"> 63 <Grid> 64 <Grid.RowDefinitions> 65 <RowDefinition Height="Auto" /> 66 <RowDefinition Height="Auto" /> 67 </Grid.RowDefinitions> 68 <Image 69 Grid.Row="0" 70 HorizontalAlignment="Stretch" 71 VerticalAlignment="Top" 72 Source="{Binding Icon, Converter={StaticResource ByteImage}}" /> 73 <Panel 74 Grid.Row="1" 75 Height="50" 76 Margin="0,10,0,0" 77 HorizontalAlignment="Stretch" 78 VerticalAlignment="Stretch" 79 IsVisible="{Binding $parent[UserControl].((viewModels:MainWindowViewModel)DataContext).ShowNames}"> 80 <TextBlock 81 HorizontalAlignment="Center" 82 VerticalAlignment="Center" 83 Text="{Binding Name}" 84 TextAlignment="Center" 85 TextWrapping="Wrap" /> 86 </Panel> 87 </Grid> 88 </Border> 89 <ui:SymbolIcon 90 Margin="5,5,0,0" 91 HorizontalAlignment="Left" 92 VerticalAlignment="Top" 93 FontSize="16" 94 Foreground="{DynamicResource SystemAccentColor}" 95 IsVisible="{Binding Favorite}" 96 Symbol="StarFilled" /> 97 </Grid> 98 </DataTemplate> 99 </ListBox.ItemTemplate> 100 </ListBox> 101 </Grid> 102 </UserControl>