MainWindow.axaml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <window:StyleableAppWindow
  2. x:Class="Ryujinx.Ava.UI.Windows.MainWindow"
  3. xmlns="https://github.com/avaloniaui"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7. xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
  8. xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
  9. xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
  10. xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
  11. xmlns:main="clr-namespace:Ryujinx.Ava.UI.Views.Main"
  12. Cursor="{Binding Cursor}"
  13. Title="{Binding Title}"
  14. WindowState="{Binding WindowState}"
  15. Width="{Binding WindowWidth}"
  16. Height="{Binding WindowHeight}"
  17. MinWidth="800"
  18. MinHeight="500"
  19. d:DesignHeight="720"
  20. d:DesignWidth="1280"
  21. x:DataType="viewModels:MainWindowViewModel"
  22. mc:Ignorable="d"
  23. WindowStartupLocation="Manual"
  24. Focusable="True">
  25. <Window.Styles>
  26. <Style Selector="TitleBar:fullscreen">
  27. <Setter Property="Background" Value="#000000" />
  28. </Style>
  29. </Window.Styles>
  30. <Design.DataContext>
  31. <viewModels:MainWindowViewModel />
  32. </Design.DataContext>
  33. <Window.Resources>
  34. <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
  35. </Window.Resources>
  36. <Window.KeyBindings>
  37. <KeyBinding Gesture="Alt+Return" Command="{Binding ToggleFullscreen}" />
  38. <KeyBinding Gesture="F11" Command="{Binding ToggleFullscreen}" />
  39. <KeyBinding Gesture="Ctrl+Cmd+F" Command="{Binding ToggleFullscreen}" />
  40. <KeyBinding Gesture="F9" Command="{Binding ToggleDockMode}" />
  41. <KeyBinding Gesture="Escape" Command="{Binding ExitCurrentState}" />
  42. <KeyBinding Gesture="Ctrl+A" Command="{Binding OpenAmiiboWindow}" />
  43. </Window.KeyBindings>
  44. <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" RowDefinitions="*">
  45. <helpers:OffscreenTextBox IsEnabled="False" Opacity="0" Name="HiddenTextBox" IsHitTestVisible="False" IsTabStop="False" />
  46. <Grid
  47. HorizontalAlignment="Stretch"
  48. VerticalAlignment="Stretch" ColumnDefinitions="*" RowDefinitions="Auto,*,Auto">
  49. <StackPanel
  50. Name="MenuBar"
  51. MinHeight="35"
  52. Grid.Row="0"
  53. Margin="0"
  54. HorizontalAlignment="Stretch"
  55. VerticalAlignment="Stretch"
  56. IsVisible="{Binding ShowMenuAndStatusBar}"
  57. Orientation="Vertical">
  58. <main:MainMenuBarView
  59. Name="MenuBarView" />
  60. </StackPanel>
  61. <ContentControl
  62. Name="MainContent"
  63. Grid.Row="1"
  64. Padding="0"
  65. HorizontalAlignment="Stretch"
  66. VerticalAlignment="Stretch"
  67. BorderBrush="{DynamicResource ThemeControlBorderColor}"
  68. BorderThickness="0,0,0,0"
  69. DockPanel.Dock="Top"
  70. IsVisible="{Binding ShowContent}">
  71. <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="GameLibrary"
  72. RowDefinitions="Auto,*">
  73. <main:MainViewControls
  74. Name="ViewControls"
  75. Grid.Row="0"/>
  76. <controls:ApplicationListView
  77. x:Name="ApplicationList"
  78. Grid.Row="1"
  79. HorizontalAlignment="Stretch"
  80. VerticalAlignment="Stretch"
  81. HorizontalContentAlignment="Stretch"
  82. VerticalContentAlignment="Stretch"
  83. IsVisible="{Binding IsList}" />
  84. <controls:ApplicationGridView
  85. x:Name="ApplicationGrid"
  86. Grid.Row="1"
  87. HorizontalAlignment="Stretch"
  88. VerticalAlignment="Stretch"
  89. HorizontalContentAlignment="Stretch"
  90. VerticalContentAlignment="Stretch"
  91. IsVisible="{Binding IsGrid}" />
  92. </Grid>
  93. </ContentControl>
  94. <Grid
  95. Grid.Row="1"
  96. HorizontalAlignment="Stretch"
  97. VerticalAlignment="Stretch"
  98. Background="{DynamicResource ThemeContentBackgroundColor}"
  99. IsVisible="{Binding ShowLoadProgress}"
  100. Name="LoadingView"
  101. ZIndex="1000">
  102. <Grid
  103. Margin="40"
  104. HorizontalAlignment="Center"
  105. VerticalAlignment="Center"
  106. IsVisible="{Binding ShowLoadProgress}" ColumnDefinitions="Auto,*">
  107. <Border
  108. Grid.RowSpan="2"
  109. Grid.Column="0"
  110. Width="256"
  111. Height="256"
  112. Margin="10"
  113. Padding="4"
  114. BorderBrush="Black"
  115. BorderThickness="2"
  116. BoxShadow="4 4 32 8 #40000000"
  117. CornerRadius="3"
  118. IsVisible="{Binding ShowLoadProgress}">
  119. <Image
  120. Width="256"
  121. Height="256"
  122. IsVisible="{Binding ShowLoadProgress}"
  123. Source="{Binding SelectedIcon, Converter={StaticResource ByteImage}}" />
  124. </Border>
  125. <Grid
  126. Grid.Column="1"
  127. HorizontalAlignment="Stretch"
  128. VerticalAlignment="Center"
  129. IsVisible="{Binding ShowLoadProgress}" RowDefinitions="Auto,Auto,Auto">
  130. <TextBlock
  131. Grid.Row="0"
  132. Margin="10"
  133. FontSize="30"
  134. FontWeight="Bold"
  135. IsVisible="{Binding ShowLoadProgress}"
  136. Text="{Binding LoadHeading}"
  137. TextAlignment="Start"
  138. TextWrapping="Wrap"
  139. MaxWidth="500" />
  140. <Border
  141. Grid.Row="1"
  142. Margin="10"
  143. Padding="0"
  144. HorizontalAlignment="Stretch"
  145. BorderBrush="{Binding ProgressBarBackgroundColor}"
  146. BorderThickness="1"
  147. ClipToBounds="True"
  148. CornerRadius="5"
  149. IsVisible="{Binding ShowLoadProgress}">
  150. <ProgressBar
  151. Height="10"
  152. MinWidth="500"
  153. Margin="0"
  154. Padding="0"
  155. HorizontalAlignment="Stretch"
  156. ClipToBounds="True"
  157. CornerRadius="5"
  158. Foreground="{Binding ProgressBarForegroundColor}"
  159. IsIndeterminate="{Binding IsLoadingIndeterminate}"
  160. IsVisible="{Binding ShowLoadProgress}"
  161. Maximum="{Binding ProgressMaximum}"
  162. Minimum="0"
  163. Value="{Binding ProgressValue}" />
  164. </Border>
  165. <TextBlock
  166. Grid.Row="2"
  167. Margin="10"
  168. FontSize="18"
  169. IsVisible="{Binding ShowLoadProgress}"
  170. Text="{Binding CacheLoadStatus}"
  171. TextAlignment="Start"
  172. MaxWidth="500" />
  173. </Grid>
  174. </Grid>
  175. </Grid>
  176. <main:MainStatusBarView
  177. Name="StatusBarView"
  178. Grid.Row="2" />
  179. </Grid>
  180. </Grid>
  181. </window:StyleableAppWindow>