<window:StyleableWindow x:Class="Ryujinx.Ava.Ui.Windows.MainWindow" xmlns="https://github.com/avaloniaui" xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale" xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls" xmlns:models="clr-namespace:Ryujinx.Ava.Ui.Models" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels" xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows" Title="Ryujinx" Height="785" Width="1280" d:DesignHeight="720" d:DesignWidth="1280" MinWidth="1024" MinHeight="680" WindowStartupLocation="CenterScreen" x:CompileBindings="True" x:DataType="viewModels:MainWindowViewModel" 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" /> <ContentControl Grid.Row="1" Focusable="False" IsVisible="False" KeyboardNavigation.IsTabStop="False"> <ui:ContentDialog Name="ContentDialog" KeyboardNavigation.IsTabStop="False" IsPrimaryButtonEnabled="True" IsSecondaryButtonEnabled="True" IsVisible="True" /> </ContentControl> <StackPanel IsVisible="False" Grid.Row="0"> <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 HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <StackPanel Grid.Row="0" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsVisible="{Binding ShowMenuAndStatusBar}" Orientation="Vertical"> <DockPanel HorizontalAlignment="Stretch"> <Menu Name="Menu" Margin="0" Height="35" HorizontalAlignment="Left"> <Menu.ItemsPanel> <ItemsPanelTemplate> <DockPanel HorizontalAlignment="Stretch" Margin="0" /> </ItemsPanelTemplate> </Menu.ItemsPanel> <MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarFile}"> <MenuItem IsEnabled="{Binding EnableNonGameRunningControls}" Command="{ReflectionBinding OpenFile}" Header="{locale:Locale MenuBarFileOpenFromFile}" ToolTip.Tip="{locale:Locale LoadApplicationFileTooltip}" /> <MenuItem IsEnabled="{Binding EnableNonGameRunningControls}" Command="{ReflectionBinding OpenFolder}" Header="{locale:Locale MenuBarFileOpenUnpacked}" 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 Header="{locale:Locale MenuBarOptionsStartGamesInFullscreen}"> <MenuItem.Icon> <CheckBox IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}" /> </MenuItem.Icon> </MenuItem> <MenuItem Header="{locale:Locale MenuBarOptionsShowConsole}"> <MenuItem.Icon> <CheckBox IsChecked="{Binding ShowConsole, Mode=TwoWay}" /> </MenuItem.Icon> </MenuItem> <Separator /> <MenuItem Header="{locale:Locale MenuBarOptionsChangeLanguage}"> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="en_US" Header="American English" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="pt_BR" Header="Brazilian Portuguese" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="es_ES" Header="Castilian Spanish" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="fr_FR" Header="French" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="de_DE" Header="German" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="el_GR" Header="Greek" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="it_IT" Header="Italian" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="ko_KR" Header="Korean" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="ru_RU" Header="Russian" /> <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="tr_TR" Header="Turkish" /> </MenuItem> <Separator /> <MenuItem Command="{ReflectionBinding OpenSettings}" Header="{locale:Locale MenuBarOptionsSettings}" ToolTip.Tip="{locale:Locale OpenSettingsTooltip}" /> <MenuItem Command="{ReflectionBinding ManageProfiles}" IsEnabled="{Binding EnableNonGameRunningControls}" Header="{locale:Locale MenuBarOptionsManageUserProfiles}" ToolTip.Tip="{locale:Locale OpenProfileManagerTooltip}" /> </MenuItem> <MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarActions}" Name="ActionsMenuItem" IsEnabled="{Binding IsGameRunning}"> <MenuItem Click="PauseEmulation_Click" Header="{locale:Locale MenuBarOptionsPauseEmulation}" IsEnabled="{Binding !IsPaused}" IsVisible="{Binding !IsPaused}" InputGesture="{Binding PauseKey}" /> <MenuItem Click="ResumeEmulation_Click" Header="{locale:Locale MenuBarOptionsResumeEmulation}" IsEnabled="{Binding IsPaused}" IsVisible="{Binding IsPaused}" InputGesture="{Binding PauseKey}" /> <MenuItem Click="StopEmulation_Click" Header="{locale:Locale MenuBarOptionsStopEmulation}" ToolTip.Tip="{locale:Locale StopEmulationTooltip}" IsEnabled="{Binding IsGameRunning}" InputGesture="Escape" /> <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}" IsEnabled="{Binding IsGameRunning}" Header="{locale:Locale MenuBarFileToolsTakeScreenshot}" InputGesture="{Binding ScreenshotKey}" /> <MenuItem Command="{ReflectionBinding HideUi}" IsEnabled="{Binding IsGameRunning}" Header="{locale:Locale MenuBarFileToolsHideUi}" InputGesture="{Binding ShowUiKey}" /> <MenuItem Command="{ReflectionBinding OpenCheatManagerForCurrentApp}" IsEnabled="{Binding IsGameRunning}" Header="{locale:Locale GameListContextMenuManageCheat}" /> </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="Content" Grid.Row="1" Padding="0" IsVisible="{Binding ShowContent}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BorderBrush="{DynamicResource ThemeControlBorderColor}" BorderThickness="0,0,0,0" DockPanel.Dock="Top"> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <DockPanel Grid.Row="0" HorizontalAlignment="Stretch" Margin="0,0,0,5"> <Button IsEnabled="{Binding IsGrid}" VerticalAlignment="Stretch" MinWidth="40" Width="40" Margin="5,2,0,2" Command="{ReflectionBinding SetListMode}"> <ui:FontIcon FontFamily="avares://FluentAvalonia/Fonts#Symbols" VerticalAlignment="Center" Margin="0" Glyph="{controls:GlyphValueConverter List}" HorizontalAlignment="Stretch" /> </Button> <Button IsEnabled="{Binding IsList}" VerticalAlignment="Stretch" MinWidth="40" Width="40" Margin="5,2,5,2" Command="{ReflectionBinding SetGridMode}"> <ui:FontIcon FontFamily="avares://FluentAvalonia/Fonts#Symbols" VerticalAlignment="Center" Margin="0" Glyph="{controls:GlyphValueConverter Grid}" HorizontalAlignment="Stretch" /> </Button> <TextBlock Text="{locale:Locale IconSize}" VerticalAlignment="Center" Margin="10,0" ToolTip.Tip="{locale:Locale IconSizeTooltip}" /> <Slider Width="150" Margin="5,-10,5 ,0" Height="35" ToolTip.Tip="{locale:Locale IconSizeTooltip}" VerticalAlignment="Center" Minimum="1" Maximum="4" IsSnapToTickEnabled="True" TickFrequency="1" Value="{Binding GridSizeScale}" /> <CheckBox Margin="0" IsChecked="{Binding ShowNames, Mode=TwoWay}" VerticalAlignment="Center" IsVisible="{Binding IsGrid}"> <TextBlock Text="{locale:Locale CommonShowNames}" Margin="5,3,0,0" /> </CheckBox> <TextBox Name="SearchBox" DockPanel.Dock="Right" VerticalAlignment="Center" MinWidth="200" Margin="5,0,5,0" HorizontalAlignment="Right" KeyUp="SearchBox_OnKeyUp" Text="{Binding SearchText}" Watermark="{locale:Locale MenuSearch}" /> <ui:DropDownButton DockPanel.Dock="Right" HorizontalAlignment="Right" Width="150" VerticalAlignment="Center" Content="{Binding SortName}"> <ui:DropDownButton.Flyout> <Flyout Placement="Bottom"> <StackPanel Orientation="Vertical" HorizontalAlignment="Stretch" Margin="0"> <StackPanel> <RadioButton Tag="Favorite" IsChecked="{Binding IsSortedByFavorite, Mode=OneTime}" GroupName="Sort" Content="{locale:Locale CommonFavorite}" Checked="Sort_Checked" /> <RadioButton Tag="Title" GroupName="Sort" IsChecked="{Binding IsSortedByTitle, Mode=OneTime}" Content="{locale:Locale GameListHeaderApplication}" Checked="Sort_Checked" /> <RadioButton Tag="Developer" GroupName="Sort" IsChecked="{Binding IsSortedByDeveloper, Mode=OneTime}" Content="{locale:Locale GameListHeaderDeveloper}" Checked="Sort_Checked" /> <RadioButton Tag="TotalTimePlayed" GroupName="Sort" IsChecked="{Binding IsSortedByTimePlayed, Mode=OneTime}" Content="{locale:Locale GameListHeaderTimePlayed}" Checked="Sort_Checked" /> <RadioButton Tag="LastPlayed" GroupName="Sort" IsChecked="{Binding IsSortedByLastPlayed, Mode=OneTime}" Content="{locale:Locale GameListHeaderLastPlayed}" Checked="Sort_Checked" /> <RadioButton Tag="FileType" GroupName="Sort" IsChecked="{Binding IsSortedByType, Mode=OneTime}" Content="{locale:Locale GameListHeaderFileExtension}" Checked="Sort_Checked" /> <RadioButton Tag="FileSize" GroupName="Sort" IsChecked="{Binding IsSortedBySize, Mode=OneTime}" Content="{locale:Locale GameListHeaderFileSize}" Checked="Sort_Checked" /> <RadioButton Tag="Path" GroupName="Sort" IsChecked="{Binding IsSortedByPath, Mode=OneTime}" Content="{locale:Locale GameListHeaderPath}" Checked="Sort_Checked" /> </StackPanel> <Border HorizontalAlignment="Stretch" Margin="5" Height="2" BorderBrush="White" Width="60" BorderThickness="0,1,0,0"> <Separator HorizontalAlignment="Stretch" Height="0" /> </Border> <RadioButton Tag="Ascending" IsChecked="{Binding IsAscending, Mode=OneTime}" GroupName="Order" Content="{locale:Locale OrderAscending}" Checked="Order_Checked" /> <RadioButton Tag="Descending" GroupName="Order" IsChecked="{Binding !IsAscending, Mode=OneTime}" Content="{locale:Locale OrderDescending}" Checked="Order_Checked" /> </StackPanel> </Flyout> </ui:DropDownButton.Flyout> </ui:DropDownButton> <TextBlock DockPanel.Dock="Right" HorizontalAlignment="Right" Text="{locale:Locale CommonSort}" VerticalAlignment="Center" Margin="10,0" /> </DockPanel> <controls:GameListView x:Name="GameList" Grid.Row="1" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalContentAlignment="Stretch" VerticalAlignment="Stretch" IsVisible="{Binding IsList}" /> <controls:GameGridView x:Name="GameGrid" Grid.Row="1" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalContentAlignment="Stretch" VerticalAlignment="Stretch" IsVisible="{Binding IsGrid}" /> </Grid> </ContentControl> <Grid Grid.Row="1" VerticalAlignment="Stretch" Background="{DynamicResource ThemeContentBackgroundColor}" IsVisible="{Binding ShowLoadProgress}" ZIndex="1000" HorizontalAlignment="Stretch"> <Grid HorizontalAlignment="Center" IsVisible="{Binding ShowLoadProgress}" Margin="40" VerticalAlignment="Center"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Border Grid.Column="0" Grid.RowSpan="2" IsVisible="{Binding ShowLoadProgress}" Width="256" Height="256" Margin="10" Padding="4" BorderBrush="Black" BorderThickness="2" BoxShadow="4 4 32 8 #40000000" CornerRadius="3"> <Image IsVisible="{Binding ShowLoadProgress}" Width="256" Height="256" Source="{Binding SelectedIcon, Converter={StaticResource ByteImage}}" /> </Border> <Grid Grid.Column="1" IsVisible="{Binding ShowLoadProgress}" HorizontalAlignment="Stretch" VerticalAlignment="Center"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock IsVisible="{Binding ShowLoadProgress}" Grid.Row="0" Margin="10" FontSize="30" FontWeight="Bold" TextWrapping="Wrap" Text="{Binding LoadHeading}" TextAlignment="Left" /> <Border IsVisible="{Binding ShowLoadProgress}" Grid.Row="1" CornerRadius="5" ClipToBounds="True" BorderBrush="{Binding ProgressBarBackgroundColor}" Padding="0" HorizontalAlignment="Stretch" Margin="10" BorderThickness="1"> <ProgressBar IsVisible="{Binding ShowLoadProgress}" Height="10" Margin="0" Padding="0" CornerRadius="5" ClipToBounds="True" MinWidth="500" HorizontalAlignment="Stretch" Background="{Binding ProgressBarBackgroundColor}" Foreground="{Binding ProgressBarForegroundColor}" Maximum="{Binding ProgressMaximum}" Minimum="0" IsIndeterminate="{Binding IsLoadingIndeterminate}" Value="{Binding ProgressValue}" /> </Border> <TextBlock IsVisible="{Binding ShowLoadProgress}" Grid.Row="2" Margin="10" FontSize="18" Text="{Binding CacheLoadStatus}" TextAlignment="Left" /> </Grid> </Grid> </Grid> <Grid Name="StatusBar" Grid.Row="2" Height="30" Margin="0,0" HorizontalAlignment="Stretch" Background="{DynamicResource ThemeContentBackgroundColor}" VerticalAlignment="Bottom" 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" IsVisible="{Binding EnableNonGameRunningControls}" VerticalAlignment="Center" Margin="10,0"> <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 Symbol="Refresh" Height="100" Width="50" /> </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" Maximum="{Binding StatusBarProgressMaximum}" Value="{Binding StatusBarProgressValue}" VerticalAlignment="Center" Foreground="{DynamicResource HighlightColor}" IsVisible="{Binding EnableNonGameRunningControls}" /> </Grid> </StackPanel> <StackPanel Grid.Column="1" Margin="10,0" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding IsGameRunning}" Orientation="Horizontal"> <TextBlock Name="VsyncStatus" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="{Binding VsyncColor}" PointerReleased="VsyncStatus_PointerReleased" IsVisible="{Binding !ShowLoadProgress}" Margin="0,0,5,0" Text="VSync" TextAlignment="Left" /> <Border Width="2" Margin="2,0" IsVisible="{Binding !ShowLoadProgress}" BorderThickness="1" Height="12" BorderBrush="Gray" /> <TextBlock Margin="5,0,5,0" Name="DockedStatus" IsVisible="{Binding !ShowLoadProgress}" HorizontalAlignment="Left" VerticalAlignment="Center" PointerReleased="DockedStatus_PointerReleased" Text="{Binding DockedStatusText}" TextAlignment="Left" /> <Border Width="2" Margin="2,0" IsVisible="{Binding !ShowLoadProgress}" BorderThickness="1" Height="12" BorderBrush="Gray" /> <TextBlock Margin="5,0,5,0" Name="AspectRatioStatus" IsVisible="{Binding !ShowLoadProgress}" HorizontalAlignment="Left" VerticalAlignment="Center" PointerReleased="AspectRatioStatus_PointerReleased" Text="{Binding AspectRatioStatusText}" TextAlignment="Left" /> <Border Width="2" Margin="2,0" IsVisible="{Binding !ShowLoadProgress}" BorderThickness="1" Height="12" BorderBrush="Gray" /> <ui:ToggleSplitButton Margin="-2,0,-3,0" Padding="5,0,0,5" Name="VolumeStatus" HorizontalAlignment="Left" VerticalAlignment="Center" IsVisible="{Binding !ShowLoadProgress}" BorderBrush="{DynamicResource ThemeContentBackgroundColor}" Background="{DynamicResource ThemeContentBackgroundColor}" IsChecked="{Binding VolumeMuted}" Content="{Binding VolumeStatusText}"> <ui:ToggleSplitButton.Flyout> <Flyout Placement="Bottom" ShowMode="TransientWithDismissOnPointerMoveAway"> <Grid Margin="0"> <Slider Value="{Binding Volume}" ToolTip.Tip="{locale:Locale AudioVolumeTooltip}" Minimum="0" Maximum="1" TickFrequency="0.05" IsSnapToTickEnabled="True" Padding="0" Margin="0" SmallChange="0.01" LargeChange="0.05" Width="150" /> </Grid> </Flyout> </ui:ToggleSplitButton.Flyout> </ui:ToggleSplitButton> <Border Width="2" Margin="2,0" IsVisible="{Binding !ShowLoadProgress}" BorderThickness="1" Height="12" BorderBrush="Gray" /> <TextBlock Margin="5,0,5,0" IsVisible="{Binding !ShowLoadProgress}" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding GameStatusText}" TextAlignment="Left" /> <Border Width="2" IsVisible="{Binding !ShowLoadProgress}" Margin="2,0" BorderThickness="1" Height="12" BorderBrush="Gray" /> <TextBlock Margin="5,0,5,0" IsVisible="{Binding !ShowLoadProgress}" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding FifoStatusText}" TextAlignment="Left" /> <Border Width="2" Margin="2,0" IsVisible="{Binding !ShowLoadProgress}" BorderThickness="1" Height="12" BorderBrush="Gray" /> <TextBlock Margin="5,0,5,0" IsVisible="{Binding !ShowLoadProgress}" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding GpuStatusText}" TextAlignment="Left" /> </StackPanel> <StackPanel VerticalAlignment="Center" IsVisible="{Binding ShowFirmwareStatus}" Grid.Column="3" Orientation="Horizontal" Margin="10, 0"> <TextBlock Name="FirmwareStatus" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0" Text="{locale:Locale StatusBarSystemVersion}" /> </StackPanel> </Grid> </Grid> </Grid> </window:StyleableWindow>