<window:StyleableWindow x:Class="Ryujinx.Ava.Ui.Windows.MainWindow" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:models="clr-namespace:Ryujinx.Ava.Ui.Models" xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia" xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels" xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows" Title="Ryujinx" Width="1280" Height="785" MinWidth="1092" MinHeight="680" d:DesignHeight="720" d:DesignWidth="1280" x:CompileBindings="True" x:DataType="viewModels:MainWindowViewModel" WindowStartupLocation="CenterScreen" mc:Ignorable="d"> <Window.Styles> <Style Selector="TitleBar:fullscreen"> <Setter Property="Background" Value="#000000" /> </Style> </Window.Styles> <Design.DataContext> <viewModels:MainWindowViewModel /> </Design.DataContext> <Window.Resources> <controls:BitmapArrayValueConverter x:Key="ByteImage" /> </Window.Resources> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <controls:OffscreenTextBox Name="HiddenTextBox" Grid.Row="0" /> <StackPanel Grid.Row="0" IsVisible="False"> <controls:HotKeyControl Name="FullscreenHotKey" Command="{ReflectionBinding ToggleFullscreen}" /> <controls:HotKeyControl Name="FullscreenHotKey2" Command="{ReflectionBinding ToggleFullscreen}" /> <controls:HotKeyControl Name="DockToggleHotKey" Command="{ReflectionBinding ToggleDockMode}" /> <controls:HotKeyControl Name="ExitHotKey" Command="{ReflectionBinding ExitCurrentState}" /> </StackPanel> <Grid Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <StackPanel Name="MenuBar" MinHeight="35" Grid.Row="0" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsVisible="{Binding ShowMenuAndStatusBar}" Orientation="Vertical"> <DockPanel HorizontalAlignment="Stretch"> <Menu Name="Menu" Height="35" Margin="0" HorizontalAlignment="Left"> <Menu.ItemsPanel> <ItemsPanelTemplate> <DockPanel Margin="0" HorizontalAlignment="Stretch" /> </ItemsPanelTemplate> </Menu.ItemsPanel> <MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarFile}"> <MenuItem Command="{ReflectionBinding OpenFile}" Header="{locale:Locale MenuBarFileOpenFromFile}" IsEnabled="{Binding EnableNonGameRunningControls}" ToolTip.Tip="{locale:Locale LoadApplicationFileTooltip}" /> <MenuItem Command="{ReflectionBinding OpenFolder}" Header="{locale:Locale MenuBarFileOpenUnpacked}" IsEnabled="{Binding EnableNonGameRunningControls}" ToolTip.Tip="{locale:Locale LoadApplicationFolderTooltip}" /> <MenuItem Header="{locale:Locale MenuBarFileOpenApplet}" IsEnabled="{Binding IsAppletMenuActive}"> <MenuItem Command="{ReflectionBinding OpenMiiApplet}" Header="Mii Edit Applet" ToolTip.Tip="{locale:Locale MenuBarFileOpenAppletOpenMiiAppletToolTip}" /> </MenuItem> <Separator /> <MenuItem Command="{ReflectionBinding OpenRyujinxFolder}" Header="{locale:Locale MenuBarFileOpenEmuFolder}" ToolTip.Tip="{locale:Locale OpenRyujinxFolderTooltip}" /> <MenuItem Command="{ReflectionBinding OpenLogsFolder}" Header="{locale:Locale MenuBarFileOpenLogsFolder}" ToolTip.Tip="{locale:Locale OpenRyujinxLogsTooltip}" /> <Separator /> <MenuItem Command="{ReflectionBinding CloseWindow}" Header="{locale:Locale MenuBarFileExit}" ToolTip.Tip="{locale:Locale ExitTooltip}" /> </MenuItem> <MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarOptions}"> <MenuItem Command="{ReflectionBinding ToggleFullscreen}" Header="{locale:Locale MenuBarOptionsToggleFullscreen}" InputGesture="F11" /> <MenuItem> <MenuItem.Icon> <CheckBox IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}" MinWidth="250"> <TextBlock Text="{locale:Locale MenuBarOptionsStartGamesInFullscreen}"/> </CheckBox> </MenuItem.Icon> </MenuItem> <MenuItem IsVisible="{Binding ShowConsoleVisible}"> <MenuItem.Icon> <CheckBox IsChecked="{Binding ShowConsole, Mode=TwoWay}" MinWidth="250"> <TextBlock Text="{locale:Locale MenuBarOptionsShowConsole}"/> </CheckBox> </MenuItem.Icon> </MenuItem> <Separator /> <MenuItem Header="{locale:Locale MenuBarOptionsChangeLanguage}"> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="de_DE" Header="Deutsch" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="en_US" Header="English (US)" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="es_ES" Header="Español (ES)" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="fr_FR" Header="Français" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="it_IT" Header="Italiano" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="pt_BR" Header="Português (BR)" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="tr_TR" Header="Türkçe" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="el_GR" Header="Ελληνικά" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="pl_PL" Header="Polski" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="ru_RU" Header="Русский" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="zh_CN" Header="简体中文" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="zh_TW" Header="繁體中文" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="ja_JP" Header="日本語" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="ko_KR" Header="한국어" /> </MenuItem> <Separator /> <MenuItem Command="{ReflectionBinding OpenSettings}" Header="{locale:Locale MenuBarOptionsSettings}" ToolTip.Tip="{locale:Locale OpenSettingsTooltip}" /> <MenuItem Command="{ReflectionBinding ManageProfiles}" Header="{locale:Locale MenuBarOptionsManageUserProfiles}" IsEnabled="{Binding EnableNonGameRunningControls}" ToolTip.Tip="{locale:Locale OpenProfileManagerTooltip}" /> </MenuItem> <MenuItem Name="ActionsMenuItem" VerticalAlignment="Center" Header="{locale:Locale MenuBarActions}" IsEnabled="{Binding IsGameRunning}"> <MenuItem Click="PauseEmulation_Click" Header="{locale:Locale MenuBarOptionsPauseEmulation}" InputGesture="{Binding PauseKey}" IsEnabled="{Binding !IsPaused}" IsVisible="{Binding !IsPaused}" /> <MenuItem Click="ResumeEmulation_Click" Header="{locale:Locale MenuBarOptionsResumeEmulation}" InputGesture="{Binding PauseKey}" IsEnabled="{Binding IsPaused}" IsVisible="{Binding IsPaused}" /> <MenuItem Click="StopEmulation_Click" Header="{locale:Locale MenuBarOptionsStopEmulation}" InputGesture="Escape" IsEnabled="{Binding IsGameRunning}" ToolTip.Tip="{locale:Locale StopEmulationTooltip}" /> <MenuItem Command="{ReflectionBinding SimulateWakeUpMessage}" Header="{locale:Locale MenuBarOptionsSimulateWakeUpMessage}" /> <Separator /> <MenuItem Name="ScanAmiiboMenuItem" AttachedToVisualTree="ScanAmiiboMenuItem_AttachedToVisualTree" Command="{ReflectionBinding OpenAmiiboWindow}" Header="{locale:Locale MenuBarActionsScanAmiibo}" IsEnabled="{Binding IsAmiiboRequested}" /> <MenuItem Command="{ReflectionBinding TakeScreenshot}" Header="{locale:Locale MenuBarFileToolsTakeScreenshot}" InputGesture="{Binding ScreenshotKey}" IsEnabled="{Binding IsGameRunning}" /> <MenuItem Command="{ReflectionBinding HideUi}" Header="{locale:Locale MenuBarFileToolsHideUi}" InputGesture="{Binding ShowUiKey}" IsEnabled="{Binding IsGameRunning}" /> <MenuItem Command="{ReflectionBinding OpenCheatManagerForCurrentApp}" Header="{locale:Locale GameListContextMenuManageCheat}" IsEnabled="{Binding IsGameRunning}" /> </MenuItem> <MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarTools}"> <MenuItem Header="{locale:Locale MenuBarToolsInstallFirmware}" IsEnabled="{Binding EnableNonGameRunningControls}"> <MenuItem Command="{ReflectionBinding InstallFirmwareFromFile}" Header="{locale:Locale MenuBarFileToolsInstallFirmwareFromFile}" /> <MenuItem Command="{ReflectionBinding InstallFirmwareFromFolder}" Header="{locale:Locale MenuBarFileToolsInstallFirmwareFromDirectory}" /> </MenuItem> </MenuItem> <MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarHelp}"> <MenuItem Name="UpdateMenuItem" Command="{ReflectionBinding CheckForUpdates}" Header="{locale:Locale MenuBarHelpCheckForUpdates}" ToolTip.Tip="{locale:Locale CheckUpdatesTooltip}" /> <Separator /> <MenuItem Command="{ReflectionBinding OpenAboutWindow}" Header="{locale:Locale MenuBarHelpAbout}" ToolTip.Tip="{locale:Locale OpenAboutTooltip}" /> </MenuItem> </Menu> </DockPanel> </StackPanel> <ContentControl Name="MainContent" Grid.Row="1" Padding="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BorderBrush="{DynamicResource ThemeControlBorderColor}" BorderThickness="0,0,0,0" DockPanel.Dock="Top" IsVisible="{Binding ShowContent}"> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <DockPanel Grid.Row="0" Margin="0,0,0,5" HorizontalAlignment="Stretch"> <Button Width="40" MinWidth="40" Margin="5,2,0,2" VerticalAlignment="Stretch" Command="{ReflectionBinding SetListMode}" IsEnabled="{Binding IsGrid}"> <ui:FontIcon Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Center" FontFamily="avares://FluentAvalonia/Fonts#Symbols" Glyph="{controls:GlyphValueConverter List}" /> </Button> <Button Width="40" MinWidth="40" Margin="5,2,5,2" VerticalAlignment="Stretch" Command="{ReflectionBinding SetGridMode}" IsEnabled="{Binding IsList}"> <ui:FontIcon Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Center" FontFamily="avares://FluentAvalonia/Fonts#Symbols" Glyph="{controls:GlyphValueConverter Grid}" /> </Button> <TextBlock Margin="10,0" VerticalAlignment="Center" Text="{locale:Locale IconSize}" ToolTip.Tip="{locale:Locale IconSizeTooltip}" /> <Slider Width="150" Height="35" Margin="5,-10,5,0" VerticalAlignment="Center" IsSnapToTickEnabled="True" Maximum="4" Minimum="1" TickFrequency="1" ToolTip.Tip="{locale:Locale IconSizeTooltip}" Value="{Binding GridSizeScale}" /> <CheckBox Margin="0" VerticalAlignment="Center" IsChecked="{Binding ShowNames, Mode=TwoWay}" IsVisible="{Binding IsGrid}"> <TextBlock Margin="5,3,0,0" Text="{locale:Locale CommonShowNames}" /> </CheckBox> <TextBox Name="SearchBox" MinWidth="200" Margin="5,0,5,0" HorizontalAlignment="Right" VerticalAlignment="Center" DockPanel.Dock="Right" KeyUp="SearchBox_OnKeyUp" Text="{Binding SearchText}" Watermark="{locale:Locale MenuSearch}" /> <ui:DropDownButton Width="150" HorizontalAlignment="Right" VerticalAlignment="Center" Content="{Binding SortName}" DockPanel.Dock="Right"> <ui:DropDownButton.Flyout> <Flyout Placement="Bottom"> <StackPanel Margin="0" HorizontalAlignment="Stretch" Orientation="Vertical"> <StackPanel> <RadioButton Checked="Sort_Checked" Content="{locale:Locale CommonFavorite}" GroupName="Sort" IsChecked="{Binding IsSortedByFavorite, Mode=OneTime}" Tag="Favorite" /> <RadioButton Checked="Sort_Checked" Content="{locale:Locale GameListHeaderApplication}" GroupName="Sort" IsChecked="{Binding IsSortedByTitle, Mode=OneTime}" Tag="Title" /> <RadioButton Checked="Sort_Checked" Content="{locale:Locale GameListHeaderDeveloper}" GroupName="Sort" IsChecked="{Binding IsSortedByDeveloper, Mode=OneTime}" Tag="Developer" /> <RadioButton Checked="Sort_Checked" Content="{locale:Locale GameListHeaderTimePlayed}" GroupName="Sort" IsChecked="{Binding IsSortedByTimePlayed, Mode=OneTime}" Tag="TotalTimePlayed" /> <RadioButton Checked="Sort_Checked" Content="{locale:Locale GameListHeaderLastPlayed}" GroupName="Sort" IsChecked="{Binding IsSortedByLastPlayed, Mode=OneTime}" Tag="LastPlayed" /> <RadioButton Checked="Sort_Checked" Content="{locale:Locale GameListHeaderFileExtension}" GroupName="Sort" IsChecked="{Binding IsSortedByType, Mode=OneTime}" Tag="FileType" /> <RadioButton Checked="Sort_Checked" Content="{locale:Locale GameListHeaderFileSize}" GroupName="Sort" IsChecked="{Binding IsSortedBySize, Mode=OneTime}" Tag="FileSize" /> <RadioButton Checked="Sort_Checked" Content="{locale:Locale GameListHeaderPath}" GroupName="Sort" IsChecked="{Binding IsSortedByPath, Mode=OneTime}" Tag="Path" /> </StackPanel> <Border Width="60" Height="2" Margin="5" HorizontalAlignment="Stretch" BorderBrush="White" BorderThickness="0,1,0,0"> <Separator Height="0" HorizontalAlignment="Stretch" /> </Border> <RadioButton Checked="Order_Checked" Content="{locale:Locale OrderAscending}" GroupName="Order" IsChecked="{Binding IsAscending, Mode=OneTime}" Tag="Ascending" /> <RadioButton Checked="Order_Checked" Content="{locale:Locale OrderDescending}" GroupName="Order" IsChecked="{Binding !IsAscending, Mode=OneTime}" Tag="Descending" /> </StackPanel> </Flyout> </ui:DropDownButton.Flyout> </ui:DropDownButton> <TextBlock Margin="10,0" HorizontalAlignment="Right" VerticalAlignment="Center" DockPanel.Dock="Right" Text="{locale:Locale CommonSort}" /> </DockPanel> <controls:GameListView x:Name="GameList" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" IsVisible="{Binding IsList}" /> <controls:GameGridView x:Name="GameGrid" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" IsVisible="{Binding IsGrid}" /> </Grid> </ContentControl> <Grid Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{DynamicResource ThemeContentBackgroundColor}" IsVisible="{Binding ShowLoadProgress}" Name="LoadingView" ZIndex="1000"> <Grid Margin="40" HorizontalAlignment="Center" VerticalAlignment="Center" IsVisible="{Binding ShowLoadProgress}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Border Grid.RowSpan="2" Grid.Column="0" Width="256" Height="256" Margin="10" Padding="4" BorderBrush="Black" BorderThickness="2" BoxShadow="4 4 32 8 #40000000" CornerRadius="3" IsVisible="{Binding ShowLoadProgress}"> <Image Width="256" Height="256" IsVisible="{Binding ShowLoadProgress}" Source="{Binding SelectedIcon, Converter={StaticResource ByteImage}}" /> </Border> <Grid Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Center" IsVisible="{Binding ShowLoadProgress}"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Margin="10" FontSize="30" FontWeight="Bold" IsVisible="{Binding ShowLoadProgress}" Text="{Binding LoadHeading}" TextAlignment="Left" TextWrapping="Wrap" /> <Border Grid.Row="1" Margin="10" Padding="0" HorizontalAlignment="Stretch" BorderBrush="{Binding ProgressBarBackgroundColor}" BorderThickness="1" ClipToBounds="True" CornerRadius="5" IsVisible="{Binding ShowLoadProgress}"> <ProgressBar Height="10" MinWidth="500" Margin="0" Padding="0" HorizontalAlignment="Stretch" Background="{Binding ProgressBarBackgroundColor}" ClipToBounds="True" CornerRadius="5" Foreground="{Binding ProgressBarForegroundColor}" IsIndeterminate="{Binding IsLoadingIndeterminate}" IsVisible="{Binding ShowLoadProgress}" Maximum="{Binding ProgressMaximum}" Minimum="0" Value="{Binding ProgressValue}" /> </Border> <TextBlock Grid.Row="2" Margin="10" FontSize="18" IsVisible="{Binding ShowLoadProgress}" Text="{Binding CacheLoadStatus}" TextAlignment="Left" /> </Grid> </Grid> </Grid> <Grid Name="StatusBar" Grid.Row="2" MinHeight="30" Height="30" Margin="0,0" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Background="{DynamicResource ThemeContentBackgroundColor}" DockPanel.Dock="Bottom" IsVisible="{Binding ShowMenuAndStatusBar}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <StackPanel Grid.Column="0" Margin="10,0" VerticalAlignment="Center" IsVisible="{Binding EnableNonGameRunningControls}"> <Grid Margin="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Button Width="25" Height="25" MinWidth="0" Margin="0,0,5,0" VerticalAlignment="Center" Background="Transparent" Command="{ReflectionBinding LoadApplications}"> <ui:SymbolIcon Width="50" Height="100" Symbol="Refresh" /> </Button> <TextBlock Name="LoadStatus" Grid.Column="1" Margin="0,0,5,0" VerticalAlignment="Center" IsVisible="{Binding EnableNonGameRunningControls}" Text="{locale:Locale StatusBarGamesLoaded}" /> <ProgressBar Name="LoadProgressBar" Grid.Column="2" Height="6" VerticalAlignment="Center" Foreground="{DynamicResource HighlightColor}" IsVisible="{Binding EnableNonGameRunningControls}" Maximum="{Binding StatusBarProgressMaximum}" Value="{Binding StatusBarProgressValue}" /> </Grid> </StackPanel> <StackPanel Grid.Column="1" Margin="10,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding IsGameRunning}" Orientation="Horizontal"> <TextBlock Name="VsyncStatus" Margin="0,0,5,0" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="{Binding VsyncColor}" IsVisible="{Binding !ShowLoadProgress}" PointerReleased="VsyncStatus_PointerReleased" Text="VSync" TextAlignment="Left" /> <Border Width="2" Height="12" Margin="2,0" BorderBrush="Gray" BorderThickness="1" IsVisible="{Binding !ShowLoadProgress}" /> <TextBlock Name="DockedStatus" Margin="5,0,5,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding !ShowLoadProgress}" PointerReleased="DockedStatus_PointerReleased" Text="{Binding DockedStatusText}" TextAlignment="Left" /> <Border Width="2" Height="12" Margin="2,0" BorderBrush="Gray" BorderThickness="1" IsVisible="{Binding !ShowLoadProgress}" /> <TextBlock Name="AspectRatioStatus" Margin="5,0,5,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding !ShowLoadProgress}" PointerReleased="AspectRatioStatus_PointerReleased" Text="{Binding AspectRatioStatusText}" TextAlignment="Left" /> <Border Width="2" Height="12" Margin="2,0" BorderBrush="Gray" BorderThickness="1" IsVisible="{Binding !ShowLoadProgress}" /> <ui:ToggleSplitButton Name="VolumeStatus" Padding="5" HorizontalAlignment="Left" VerticalAlignment="Center" VerticalContentAlignment="Center" Background="{DynamicResource ThemeContentBackgroundColor}" BorderThickness="0" Content="{Binding VolumeStatusText}" IsChecked="{Binding VolumeMuted}" IsVisible="{Binding !ShowLoadProgress}"> <ui:ToggleSplitButton.Flyout> <Flyout Placement="Bottom" ShowMode="TransientWithDismissOnPointerMoveAway"> <Grid Margin="0"> <Slider Width="150" Margin="0" Padding="0" IsSnapToTickEnabled="True" LargeChange="0.05" Maximum="1" Minimum="0" SmallChange="0.01" TickFrequency="0.05" ToolTip.Tip="{locale:Locale AudioVolumeTooltip}" Value="{Binding Volume}" /> </Grid> </Flyout> </ui:ToggleSplitButton.Flyout> </ui:ToggleSplitButton> <Border Width="2" Height="12" Margin="2,0" BorderBrush="Gray" BorderThickness="1" IsVisible="{Binding !ShowLoadProgress}" /> <TextBlock Margin="5,0,5,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding !ShowLoadProgress}" Text="{Binding GameStatusText}" TextAlignment="Left" /> <Border Width="2" Height="12" Margin="2,0" BorderBrush="Gray" BorderThickness="1" IsVisible="{Binding !ShowLoadProgress}" /> <TextBlock Margin="5,0,5,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding !ShowLoadProgress}" Text="{Binding FifoStatusText}" TextAlignment="Left" /> <Border Width="2" Height="12" Margin="2,0" BorderBrush="Gray" BorderThickness="1" IsVisible="{Binding !ShowLoadProgress}" /> <TextBlock Margin="5,0,5,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding !ShowLoadProgress}" Text="{Binding BackendText}" TextAlignment="Left" /> <Border Width="2" Height="12" Margin="2,0" BorderBrush="Gray" BorderThickness="1" IsVisible="{Binding !ShowLoadProgress}" /> <TextBlock Margin="5,0,5,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding !ShowLoadProgress}" Text="{Binding GpuNameText}" TextAlignment="Left" /> </StackPanel> <StackPanel Grid.Column="3" Margin="10,0" VerticalAlignment="Center" IsVisible="{Binding ShowFirmwareStatus}" Orientation="Horizontal"> <TextBlock Name="FirmwareStatus" Margin="0" HorizontalAlignment="Right" VerticalAlignment="Center" Text="{locale:Locale StatusBarSystemVersion}" /> </StackPanel> </Grid> </Grid> </Grid> </window:StyleableWindow>