Apply standard styles to all views.

This commit is contained in:
2025-07-26 17:21:54 +01:00
parent de9ad80eef
commit 52946eca2e
11 changed files with 675 additions and 691 deletions

View File

@@ -40,106 +40,106 @@
<Design.DataContext>
<vm:AboutViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,*,Auto">
<Grid Grid.Row="0"
ColumnDefinitions="Auto,*">
<Border Grid.Column="0"
BorderThickness="5">
<Image Source="/Assets/avalonia-logo.ico"
Width="48"
Height="48" />
</Border>
<Grid Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
RowDefinitions="Auto,Auto">
<TextBlock Grid.Row="0"
Text="{Binding SoftwareName, Mode=OneWay}"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontSize="16"
FontWeight="Bold" />
<TextBlock Grid.Row="1"
Text="{Binding VersionText, Mode=OneWay}"
HorizontalAlignment="Left"
VerticalAlignment="Center" />
</Grid>
<Grid RowDefinitions="Auto,*,Auto"
Margin="16"
RowSpacing="8">
<Grid Grid.Row="0"
ColumnSpacing="8"
ColumnDefinitions="Auto,*">
<Image Source="/Assets/avalonia-logo.ico"
Width="48"
Height="48" />
<Grid Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
RowDefinitions="Auto,Auto"
RowSpacing="8">
<TextBlock Grid.Row="0"
Text="{Binding SoftwareName, Mode=OneWay}"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontSize="16"
FontWeight="Bold" />
<TextBlock Grid.Row="1"
Text="{Binding VersionText, Mode=OneWay}"
HorizontalAlignment="Left"
VerticalAlignment="Center" />
</Grid>
<TabControl Grid.Row="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static resources:Localization.AboutLabel}" />
</TabItem.Header>
<Grid RowDefinitions="Auto,12,Auto,12,Auto,Auto,*">
<TextBlock Grid.Row="0"
Text="{Binding SuiteName, Mode=OneWay}" />
<TextBlock Grid.Row="2"
Text="{Binding Copyright, Mode=OneWay}" />
<Button Grid.Row="4"
BorderThickness="0"
Background="Transparent"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Padding="0"
Command="{Binding WebsiteCommand, Mode=OneWay}">
<!-- TODO: TextDecorations="Underline" in next Avalonia UI version -->
<TextBlock Text="{Binding Website, Mode=OneWay}"
Foreground="Blue" />
</Button>
<Button Grid.Row="5"
BorderThickness="0"
Background="Transparent"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Padding="0"
Command="{Binding LicenseCommand, Mode=OneWay}">
<!-- TODO: TextDecorations="Underline" in next Avalonia UI version -->
<TextBlock Text="{x:Static resources:Localization.LicenseLabel}"
Foreground="Blue" />
</Button>
</Grid>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static resources:Localization.LibrariesLabel}" />
</TabItem.Header>
<DataGrid ItemsSource="{Binding Assemblies, Mode=OneWay}"
HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.AssembliesLibraryText}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Version, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.AssembliesVersionText}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static resources:Localization.AuthorsLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True"
Text="{x:Static resources:Localization.AuthorsText}" />
</TabItem>
</TabControl>
<Button Grid.Row="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Border>
<TabControl Grid.Row="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static resources:Localization.AboutLabel}" />
</TabItem.Header>
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,*"
RowSpacing="8">
<TextBlock Grid.Row="0"
Text="{Binding SuiteName, Mode=OneWay}" />
<TextBlock Grid.Row="1"
Text="{Binding Copyright, Mode=OneWay}" />
<Button Grid.Row="2"
Background="Transparent"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Padding="0"
BorderThickness="0"
Command="{Binding WebsiteCommand, Mode=OneWay}">
<TextBlock Text="{Binding Website, Mode=OneWay}"
Foreground="Blue"
TextDecorations="Underline" />
</Button>
<Button Grid.Row="3"
Background="Transparent"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Padding="0"
BorderThickness="0"
Command="{Binding LicenseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.LicenseLabel}"
Foreground="Blue"
TextDecorations="Underline" />
</Button>
</Grid>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static resources:Localization.LibrariesLabel}" />
</TabItem.Header>
<DataGrid ItemsSource="{Binding Assemblies, Mode=OneWay}"
HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.AssembliesLibraryText}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Version, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.AssembliesVersionText}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static resources:Localization.AuthorsLabel}" />
</TabItem.Header>
<TextBox IsReadOnly="True"
Text="{x:Static resources:Localization.AuthorsText}" />
</TabItem>
</TabControl>
<Button Grid.Row="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Window>

View File

@@ -41,226 +41,212 @@
<Design.DataContext>
<vm:EditDatViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto">
<Grid Grid.Row="0"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetNameLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Name, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="1"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetVersionLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Version, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="2"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetAuthorLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Author, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="3"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetCategoryLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Category, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="4"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetCommentLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Comment, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="5"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetDateLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Date, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="6"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetDescriptionLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Description, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="7"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.HomepageLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Homepage, Mode=TwoWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.TotalMachinesLabel}"
FontWeight="Bold"
Padding="5" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding TotalMachines, Mode=OneWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="9"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.CompleteMachinesLabel}"
FontWeight="Bold"
Padding="5" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding CompleteMachines, Mode=OneWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="10"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.IncompleteMachinesLabel}"
FontWeight="Bold"
Padding="5" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding IncompleteMachines, Mode=OneWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="11"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.TotalRomsLabel}"
FontWeight="Bold"
Padding="5" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding TotalRoms, Mode=OneWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="12"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.HaveRomsLabel}"
FontWeight="Bold"
Padding="5" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding HaveRoms, Mode=OneWay}"
Padding="5" />
</Grid>
<Grid Grid.Row="13"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.MissRomsLabel}"
FontWeight="Bold"
Padding="5" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding MissRoms, Mode=OneWay}"
Padding="5" />
</Grid>
<StackPanel Grid.Row="14"
Orientation="Horizontal"
HorizontalAlignment="Right">
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding SaveCommand, Mode=OneWay}"
IsVisible="{Binding Modified, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.SaveLabel}" />
</Button>
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CancelCommand, Mode=OneWay}"
IsVisible="{Binding Modified, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CancelLabel}" />
</Button>
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand, Mode=OneWay}"
IsVisible="{Binding !Modified, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</StackPanel>
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto"
Margin="16"
RowSpacing="8">
<Grid Grid.Row="0"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetNameLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Name, Mode=TwoWay}" />
</Grid>
</Border>
<Grid Grid.Row="1"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetVersionLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Version, Mode=TwoWay}" />
</Grid>
<Grid Grid.Row="2"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetAuthorLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Author, Mode=TwoWay}" />
</Grid>
<Grid Grid.Row="3"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetCategoryLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Category, Mode=TwoWay}" />
</Grid>
<Grid Grid.Row="4"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetCommentLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Comment, Mode=TwoWay}" />
</Grid>
<Grid Grid.Row="5"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetDateLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Date, Mode=TwoWay}" />
</Grid>
<Grid Grid.Row="6"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RomSetDescriptionLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Description, Mode=TwoWay}" />
</Grid>
<Grid Grid.Row="7"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.HomepageLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding Homepage, Mode=TwoWay}" />
</Grid>
<Grid Grid.Row="8"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.TotalMachinesLabel}"
FontWeight="Bold" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding TotalMachines, Mode=OneWay}" />
</Grid>
<Grid Grid.Row="9"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.CompleteMachinesLabel}"
FontWeight="Bold" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding CompleteMachines, Mode=OneWay}" />
</Grid>
<Grid Grid.Row="10"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.IncompleteMachinesLabel}"
FontWeight="Bold" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding IncompleteMachines, Mode=OneWay}" />
</Grid>
<Grid Grid.Row="11"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.TotalRomsLabel}"
FontWeight="Bold" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding TotalRoms, Mode=OneWay}" />
</Grid>
<Grid Grid.Row="12"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.HaveRomsLabel}"
FontWeight="Bold" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding HaveRoms, Mode=OneWay}" />
</Grid>
<Grid Grid.Row="13"
ColumnSpacing="8"
ColumnDefinitions="140,*">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.MissRomsLabel}"
FontWeight="Bold" />
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding MissRoms, Mode=OneWay}" />
</Grid>
<StackPanel Grid.Row="14"
Orientation="Horizontal"
HorizontalAlignment="Right">
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding SaveCommand, Mode=OneWay}"
IsVisible="{Binding Modified, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.SaveLabel}" />
</Button>
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CancelCommand, Mode=OneWay}"
IsVisible="{Binding Modified, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CancelLabel}" />
</Button>
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand, Mode=OneWay}"
IsVisible="{Binding !Modified, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</StackPanel>
</Grid>
</Window>

View File

@@ -41,27 +41,27 @@
<Design.DataContext>
<vm:ExportDatViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,auto,Auto,Auto">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="True"
HorizontalAlignment="Stretch"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<TextBlock Grid.Row="2"
Text="{Binding ErrorMessage, Mode=OneWay}"
HorizontalAlignment="Center"
Foreground="Red"
IsVisible="{Binding ErrorVisible, Mode=OneWay}" />
<Button Grid.Row="3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Border>
<Grid RowDefinitions="Auto,auto,Auto,Auto"
Margin="16"
RowSpacing="8">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="True"
HorizontalAlignment="Stretch"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<TextBlock Grid.Row="2"
Text="{Binding ErrorMessage, Mode=OneWay}"
HorizontalAlignment="Center"
Foreground="Red"
IsVisible="{Binding ErrorVisible, Mode=OneWay}" />
<Button Grid.Row="3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Window>

View File

@@ -41,48 +41,51 @@
<Design.DataContext>
<vm:ExportRomsViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,*,Auto">
<StackPanel Grid.Row="0"
Orientation="Horizontal"
HorizontalAlignment="Stretch">
<TextBlock Text="{x:Static resources:Localization.PathLabel}"
FontWeight="Bold" />
<TextBlock Text="{Binding FolderPath, Mode=OneWay}" />
</StackPanel>
<TextBlock Grid.Row="1"
Text="{Binding StatusMessage, Mode=OneWay}"
FontWeight="Bold"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="2"
Minimum="{Binding ProgressMinimum, Mode=OneWay}"
Maximum="{Binding ProgressMaximum, Mode=OneWay}"
Value="{Binding ProgressValue, Mode=OneWay}"
IsIndeterminate="{Binding ProgressIsIndeterminate, Mode=OneWay}"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<StackPanel Grid.Row="3"
IsVisible="{Binding Progress2Visible, Mode=OneWay}">
<TextBlock Text="{Binding Status2Message, Mode=OneWay}" />
<ProgressBar Minimum="{Binding Progress2Minimum, Mode=OneWay}"
Maximum="{Binding Progress2Maximum, Mode=OneWay}"
Value="{Binding Progress2Value, Mode=OneWay}"
IsIndeterminate="{Binding Progress2IsIndeterminate, Mode=OneWay}" />
</StackPanel>
<StackPanel Grid.Row="4"
IsVisible="{Binding Progress3Visible, Mode=OneWay}">
<TextBlock Text="{Binding Status3Message, Mode=OneWay}" />
<ProgressBar Minimum="{Binding Progress3Minimum, Mode=OneWay}"
Maximum="{Binding Progress3Maximum, Mode=OneWay}"
Value="{Binding Progress3Value, Mode=OneWay}"
IsIndeterminate="{Binding Progress3IsIndeterminate, Mode=OneWay}" />
</StackPanel>
<Button Grid.Row="5"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Border>
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,*,Auto"
Margin="16"
RowSpacing="8">
<StackPanel Grid.Row="0"
Spacing="8"
Orientation="Horizontal"
HorizontalAlignment="Stretch">
<TextBlock Text="{x:Static resources:Localization.PathLabel}"
FontWeight="Bold" />
<TextBlock Text="{Binding FolderPath, Mode=OneWay}" />
</StackPanel>
<TextBlock Grid.Row="1"
Text="{Binding StatusMessage, Mode=OneWay}"
FontWeight="Bold"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="2"
Minimum="{Binding ProgressMinimum, Mode=OneWay}"
Maximum="{Binding ProgressMaximum, Mode=OneWay}"
Value="{Binding ProgressValue, Mode=OneWay}"
IsIndeterminate="{Binding ProgressIsIndeterminate, Mode=OneWay}"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<StackPanel Grid.Row="3"
Spacing="8"
IsVisible="{Binding Progress2Visible, Mode=OneWay}">
<TextBlock Text="{Binding Status2Message, Mode=OneWay}" />
<ProgressBar Minimum="{Binding Progress2Minimum, Mode=OneWay}"
Maximum="{Binding Progress2Maximum, Mode=OneWay}"
Value="{Binding Progress2Value, Mode=OneWay}"
IsIndeterminate="{Binding Progress2IsIndeterminate, Mode=OneWay}" />
</StackPanel>
<StackPanel Grid.Row="4"
Spacing="8"
IsVisible="{Binding Progress3Visible, Mode=OneWay}">
<TextBlock Text="{Binding Status3Message, Mode=OneWay}" />
<ProgressBar Minimum="{Binding Progress3Minimum, Mode=OneWay}"
Maximum="{Binding Progress3Maximum, Mode=OneWay}"
Value="{Binding Progress3Value, Mode=OneWay}"
IsIndeterminate="{Binding Progress3IsIndeterminate, Mode=OneWay}" />
</StackPanel>
<Button Grid.Row="5"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Window>

View File

@@ -41,30 +41,30 @@
<Design.DataContext>
<vm:ImportDatViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,auto,Auto,Auto">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="{Binding IndeterminateProgress, Mode=OneWay}"
Maximum="{Binding MaximumValue, Mode=OneWay}"
Minimum="{Binding MinimumValue, Mode=OneWay}"
Value="{Binding CurrentValue, Mode=OneWay}"
HorizontalAlignment="Stretch"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<TextBlock Grid.Row="2"
Text="{Binding ErrorMessage, Mode=OneWay}"
HorizontalAlignment="Center"
Foreground="Red"
IsVisible="{Binding ErrorVisible, Mode=OneWay}" />
<Button Grid.Row="3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Border>
<Grid RowDefinitions="Auto,auto,Auto,Auto"
Margin="16"
RowSpacing="8">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="{Binding IndeterminateProgress, Mode=OneWay}"
Maximum="{Binding MaximumValue, Mode=OneWay}"
Minimum="{Binding MinimumValue, Mode=OneWay}"
Value="{Binding CurrentValue, Mode=OneWay}"
HorizontalAlignment="Stretch"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<TextBlock Grid.Row="2"
Text="{Binding ErrorMessage, Mode=OneWay}"
HorizontalAlignment="Center"
Foreground="Red"
IsVisible="{Binding ErrorVisible, Mode=OneWay}" />
<Button Grid.Row="3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Window>

View File

@@ -10,8 +10,7 @@
Height="600"
x:Class="RomRepoMgr.Views.ImportDatFolder"
Title="{x:Static resources:Localization.ImportDatFolderTitle}"
Icon="/Assets/avalonia-logo.ico"
CanResize="False">
Icon="/Assets/avalonia-logo.ico">
<Design.DataContext>
<vm:ImportDatFolderViewModel />
</Design.DataContext>

View File

@@ -10,7 +10,6 @@
Height="768"
x:Class="RomRepoMgr.Views.ImportRomFolder"
Icon="/Assets/avalonia-logo.ico"
CanResize="False"
Title="{x:Static resources:Localization.ImportRomFolderTitle}"
WindowStartupLocation="CenterOwner">
<Design.DataContext>

View File

@@ -41,14 +41,14 @@
<Design.DataContext>
<vm:RemoveDatViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,auto">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="True"
HorizontalAlignment="Stretch" />
</Grid>
</Border>
<Grid RowDefinitions="Auto,auto"
Margin="16"
RowSpacing="8">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="True"
HorizontalAlignment="Stretch" />
</Grid>
</Window>

View File

@@ -31,7 +31,7 @@
xmlns:vm="clr-namespace:RomRepoMgr.ViewModels;assembly=RomRepoMgr"
xmlns:resources="clr-namespace:RomRepoMgr.Resources"
mc:Ignorable="d"
Width="480"
Width="540"
Height="320"
x:Class="RomRepoMgr.Views.SettingsDialog"
Icon="/Assets/avalonia-logo.ico"
@@ -40,137 +40,129 @@
<Design.DataContext>
<vm:SettingsViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto">
<Grid Grid.Row="0"
ColumnDefinitions="*,250,Auto">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.DatabaseFileLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding DatabasePath, Mode=TwoWay}"
IsReadOnly="True"
Padding="5" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding DatabaseCommand, Mode=OneWay}"
Padding="5">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
<Grid Grid.Row="1"
ColumnDefinitions="*,250,Auto">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RepositoryFolderLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding RepositoryPath, Mode=TwoWay}"
IsReadOnly="True"
Padding="5" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding RepositoryCommand, Mode=OneWay}"
Padding="5">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
<Grid Grid.Row="2"
ColumnDefinitions="*,250,Auto">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.TemporaryFolderLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding TemporaryPath, Mode=TwoWay}"
IsReadOnly="True"
Padding="5" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding TemporaryCommand, Mode=OneWay}"
Padding="5">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
<CheckBox Grid.Row="3"
IsChecked="{Binding UseInternalDecompressor, Mode=TwoWay}">
<CheckBox.Content>
<TextBlock Text="{x:Static resources:Localization.UseInternalDecompressorLabel}" />
</CheckBox.Content>
</CheckBox>
<Grid Grid.Row="4"
ColumnDefinitions="*,250,Auto"
IsVisible="{Binding !UseInternalDecompressor}">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.UnArPathLabel}"
FontWeight="Bold"
Padding="5" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding UnArPath, Mode=TwoWay}"
IsReadOnly="True"
Padding="5" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding UnArCommand, Mode=OneWay}"
Padding="5">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
<TextBlock Grid.Row="5"
HorizontalAlignment="Left"
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto"
Margin="16"
RowSpacing="8">
<Grid Grid.Row="0"
ColumnDefinitions="*,250,Auto"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{Binding UnArVersion, Mode=OneWay}"
FontWeight="Bold"
IsVisible="{Binding !UseInternalDecompressor}" />
<Grid Grid.Row="6"
ColumnDefinitions="Auto, *">
<TextBlock Grid.Column="0"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.CompressionType}"
FontWeight="Bold"
Padding="5" />
<ComboBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
SelectedItem="{Binding Compression, Mode=TwoWay}"
ItemsSource="{Binding CompressionTypes, Mode=OneWay}"
Padding="5" />
</Grid>
<StackPanel Grid.Row="7"
Orientation="Horizontal"
HorizontalAlignment="Right">
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding SaveCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.SaveLabel}" />
</Button>
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</StackPanel>
Text="{x:Static resources:Localization.DatabaseFileLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding DatabasePath, Mode=TwoWay}"
IsReadOnly="True" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding DatabaseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
</Border>
<Grid Grid.Row="1"
ColumnDefinitions="*,250,Auto"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.RepositoryFolderLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding RepositoryPath, Mode=TwoWay}"
IsReadOnly="True" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding RepositoryCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
<Grid Grid.Row="2"
ColumnDefinitions="*,250,Auto"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.TemporaryFolderLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding TemporaryPath, Mode=TwoWay}"
IsReadOnly="True" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding TemporaryCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
<CheckBox Grid.Row="3"
IsChecked="{Binding UseInternalDecompressor, Mode=TwoWay}">
<CheckBox.Content>
<TextBlock Text="{x:Static resources:Localization.UseInternalDecompressorLabel}" />
</CheckBox.Content>
</CheckBox>
<Grid Grid.Row="4"
ColumnDefinitions="*,250,Auto"
ColumnSpacing="8"
IsVisible="{Binding !UseInternalDecompressor}">
<TextBlock Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.UnArPathLabel}"
FontWeight="Bold" />
<TextBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Text="{Binding UnArPath, Mode=TwoWay}"
IsReadOnly="True" />
<Button Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding UnArCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.ChooseLabel}" />
</Button>
</Grid>
<TextBlock Grid.Row="5"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{Binding UnArVersion, Mode=OneWay}"
FontWeight="Bold"
IsVisible="{Binding !UseInternalDecompressor}" />
<Grid Grid.Row="6"
ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<TextBlock Grid.Column="0"
VerticalAlignment="Center"
Text="{x:Static resources:Localization.CompressionType}"
FontWeight="Bold" />
<ComboBox Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
SelectedItem="{Binding Compression, Mode=TwoWay}"
ItemsSource="{Binding CompressionTypes, Mode=OneWay}" />
</Grid>
<StackPanel Grid.Row="7"
Spacing="8"
Orientation="Horizontal"
HorizontalAlignment="Right">
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding SaveCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.SaveLabel}" />
</Button>
<Button HorizontalAlignment="Right"
VerticalAlignment="Center"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</StackPanel>
</Grid>
</Window>

View File

@@ -11,8 +11,8 @@
Title="ROM Repository Manager"
SystemDecorations="BorderOnly"
WindowStartupLocation="CenterScreen"
Width="250"
Height="175">
Width="320"
Height="240">
<Design.DataContext>
<vm:SplashWindowViewModel />
</Design.DataContext>
@@ -20,12 +20,14 @@
<StackPanel HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Orientation="Vertical"
Margin="5">
Margin="16"
Spacing="8">
<TextBlock Text="{Binding LoadingText, Mode=OneWay}"
FontWeight="Bold"
HorizontalAlignment="Center"
VerticalAlignment="Top" />
<StackPanel HorizontalAlignment="Left"
Spacing="8"
Orientation="Horizontal">
<Image MaxWidth="24"
MaxHeight="24"
@@ -52,6 +54,7 @@
VerticalAlignment="Center" />
</StackPanel>
<StackPanel HorizontalAlignment="Left"
Spacing="8"
Orientation="Horizontal">
<Image MaxWidth="24"
MaxHeight="24"
@@ -78,6 +81,7 @@
VerticalAlignment="Center" />
</StackPanel>
<StackPanel HorizontalAlignment="Left"
Spacing="8"
Orientation="Horizontal">
<Image MaxWidth="24"
MaxHeight="24"
@@ -104,6 +108,7 @@
VerticalAlignment="Center" />
</StackPanel>
<StackPanel HorizontalAlignment="Left"
Spacing="8"
Orientation="Horizontal">
<Image MaxWidth="24"
MaxHeight="24"
@@ -130,6 +135,7 @@
VerticalAlignment="Center" />
</StackPanel>
<StackPanel HorizontalAlignment="Left"
Spacing="8"
Orientation="Horizontal">
<Image MaxWidth="24"
MaxHeight="24"

View File

@@ -33,138 +33,137 @@
mc:Ignorable="d"
x:Class="RomRepoMgr.Views.UpdateStats"
Icon="/Assets/avalonia-logo.ico"
CanResize="False"
Title="{x:Static resources:Localization.UpdateStatsTitle}"
WindowStartupLocation="CenterOwner">
<Design.DataContext>
<vm:UpdateStatsViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid RowDefinitions="Auto,Auto,*,Auto">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="{Binding IndeterminateProgress, Mode=OneWay}"
Maximum="{Binding MaximumValue, Mode=OneWay}"
Minimum="{Binding MinimumValue, Mode=OneWay}"
Value="{Binding CurrentValue, Mode=OneWay}"
HorizontalAlignment="Stretch"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<DataGrid Grid.Row="2"
ItemsSource="{Binding RomSets, Mode=OneWay}"
HorizontalScrollBarVisibility="Visible"
SelectedItem="{Binding SelectedRomSet, Mode=TwoWay}"
CanUserSortColumns="True"
CanUserResizeColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetNameLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Version, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetVersionLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Author, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetAuthorLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Category, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetCategoryLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Date, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetDateLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Description, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetDescriptionLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Comment, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetCommentLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Homepage, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.HomepageLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding TotalMachines, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetTotalMachinesLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding CompleteMachines, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetCompleteMachinesLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding IncompleteMachines, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetIncompleteMachinesLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding TotalRoms, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetTotalRomsLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding HaveRoms, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetHaveRomsLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding MissRoms, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetMissRomsLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Button Grid.Row="3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Border>
<Grid RowDefinitions="Auto,Auto,*,Auto"
Margin="16"
RowSpacing="8">
<TextBlock Grid.Row="0"
Text="{Binding StatusMessage, Mode=OneWay}"
HorizontalAlignment="Center" />
<ProgressBar Grid.Row="1"
IsIndeterminate="{Binding IndeterminateProgress, Mode=OneWay}"
Maximum="{Binding MaximumValue, Mode=OneWay}"
Minimum="{Binding MinimumValue, Mode=OneWay}"
Value="{Binding CurrentValue, Mode=OneWay}"
HorizontalAlignment="Stretch"
IsVisible="{Binding ProgressVisible, Mode=OneWay}" />
<DataGrid Grid.Row="2"
ItemsSource="{Binding RomSets, Mode=OneWay}"
HorizontalScrollBarVisibility="Visible"
SelectedItem="{Binding SelectedRomSet, Mode=TwoWay}"
CanUserSortColumns="True"
CanUserResizeColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetNameLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Version, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetVersionLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Author, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetAuthorLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Category, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetCategoryLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Date, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetDateLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Description, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetDescriptionLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Comment, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetCommentLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Homepage, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.HomepageLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding TotalMachines, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetTotalMachinesLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding CompleteMachines, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetCompleteMachinesLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding IncompleteMachines, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetIncompleteMachinesLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding TotalRoms, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetTotalRomsLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding HaveRoms, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetHaveRomsLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding MissRoms, Mode=OneWay}"
Width="Auto"
IsReadOnly="True">
<DataGridTextColumn.Header>
<TextBlock Text="{x:Static resources:Localization.RomSetMissRomsLabel}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Button Grid.Row="3"
HorizontalAlignment="Right"
VerticalAlignment="Center"
IsEnabled="{Binding CanClose, Mode=OneWay}"
Command="{Binding CloseCommand, Mode=OneWay}">
<TextBlock Text="{x:Static resources:Localization.CloseLabel}" />
</Button>
</Grid>
</Window>