ApplicationGridView.axaml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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 TitleName}"
  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>