Let the consist panel shrink with the small thumbnails

This commit is contained in:
maj00r
2026-10-04 14:09:26 +02:00
parent a9f4a09cf5
commit e8cec0867e
2 changed files with 19 additions and 3 deletions

View File

@@ -7,7 +7,7 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="StarterNG.Views.Scenarios"
x:CompileBindings="True">
<Grid Margin="0" ColumnSpacing="0" RowSpacing="3">
<Grid Name="scenariosGrid" Margin="0" ColumnSpacing="0" RowSpacing="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="200" MaxWidth="460" />
<ColumnDefinition Width="Auto" />
@@ -15,8 +15,9 @@
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<!-- Measures itself, so a whole card fits at either thumbnail size. -->
<RowDefinition Height="Auto" MinHeight="120" MaxHeight="200" />
<!-- Measures itself, so a whole card fits at either thumbnail size; the
floor follows the thumbnail size, see SyncConsistRowHeight. -->
<RowDefinition Height="Auto" MaxHeight="200" />
</Grid.RowDefinitions>
<HeaderedContentControl Grid.Column="0" Grid.Row="0" Theme="{StaticResource GroupBox}"

View File

@@ -39,6 +39,7 @@ public partial class Scenarios : UserControl
public Scenarios()
{
InitializeComponent();
SyncConsistRowHeight();
Sceneries = AppServices.Current.Library.Sceneries;
@@ -418,8 +419,22 @@ public partial class Scenarios : UserControl
RandomizeTexturesRequested?.Invoke(scenery);
}
/// <summary>
/// The floor of the consist row, so the small thumbnails do not sit in the
/// height the large ones need.
/// </summary>
private const double SmallConsistRowHeight = 84;
private const double LargeConsistRowHeight = 120;
private void SyncConsistRowHeight() =>
scenariosGrid.RowDefinitions[1].MinHeight = AppServices.Current.Settings.LargeThumbnails
? LargeConsistRowHeight
: SmallConsistRowHeight;
public void RefreshConsistView()
{
SyncConsistRowHeight();
RefreshVehicleLabels();
if (AppServices.Current.State.CurrentTrainset is { } trainset)
ShowConsist(trainset);