Skip to content

Commit 26f5891

Browse files
committed
Made PegSelection's layout responsive
1 parent d181de5 commit 26f5891

1 file changed

Lines changed: 49 additions & 8 deletions

File tree

src/Codebreaker.Uno/CodebreakerUno/Views/Components/PegSelectionComponent.xaml

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,72 @@
2121
</DataTemplate>
2222
<DataTemplate x:Key="SelectColorItemTemplate" x:DataType="vmComponents:SelectedFieldViewModel">
2323
<ComboBox
24-
Margin="04" Width="112"
25-
Height="92"
24+
Margin="4"
25+
Width="112" Height="92"
2626
ItemsSource="{Binding ElementName=ThisControl, Path=DataContext.Game.FieldValues[colors], Mode=OneWay}"
2727
SelectedItem="{x:Bind Value, Mode=TwoWay}"
2828
ItemTemplate="{StaticResource SelectColorTemplate}"
2929
PlaceholderText="" HorizontalContentAlignment="Center" FontSize="40" />
3030
</DataTemplate>
3131
</UserControl.Resources>
3232

33-
<Grid>
33+
<Grid x:Name="Wrapper" ColumnSpacing="15" RowSpacing="15">
3434
<Grid.ColumnDefinitions>
35-
<ColumnDefinition Width="auto" />
36-
<ColumnDefinition Width="auto" />
35+
<ColumnDefinition MaxWidth="500" />
36+
<ColumnDefinition Width="Auto" />
3737
</Grid.ColumnDefinitions>
38+
<Grid.RowDefinitions>
39+
<RowDefinition Height="Auto" />
40+
<RowDefinition Height="Auto" />
41+
</Grid.RowDefinitions>
42+
<VisualStateManager.VisualStateGroups>
43+
<VisualStateGroup>
44+
<VisualState x:Name="WideState">
45+
<VisualState.StateTriggers>
46+
<AdaptiveTrigger MinWindowWidth="800" />
47+
</VisualState.StateTriggers>
48+
<VisualState.Setters>
49+
<Setter Target="PegComboBoxes.(Grid.Column)" Value="0" />
50+
<Setter Target="MoveSubmitButton.(Grid.Column)" Value="1" />
51+
<Setter Target="PegComboBoxes.(Grid.RowSpan)" Value="2" />
52+
<Setter Target="MoveSubmitButton.(Grid.RowSpan)" Value="2" />
53+
54+
<Setter Target="PegComboBoxes.HorizontalAlignment" Value="Left" />
55+
</VisualState.Setters>
56+
</VisualState>
57+
<VisualState x:Name="NarrowState">
58+
<VisualState.StateTriggers>
59+
<AdaptiveTrigger MinWindowWidth="0" />
60+
</VisualState.StateTriggers>
61+
<VisualState.Setters>
62+
<Setter Target="PegComboBoxes.(Grid.Row)" Value="0" />
63+
<Setter Target="MoveSubmitButton.(Grid.Row)" Value="1" />
64+
<Setter Target="PegComboBoxes.(Grid.ColumnSpan)" Value="2" />
65+
<Setter Target="MoveSubmitButton.(Grid.ColumnSpan)" Value="2" />
66+
67+
<Setter Target="PegComboBoxes.HorizontalAlignment" Value="Center" />
68+
</VisualState.Setters>
69+
</VisualState>
70+
</VisualStateGroup>
71+
</VisualStateManager.VisualStateGroups>
3872
<ItemsControl
39-
Grid.Column="0"
73+
x:Name="PegComboBoxes"
4074
ItemsSource="{x:Bind Path=ViewModel.Fields, Mode=OneWay}"
4175
ItemTemplate="{StaticResource SelectColorItemTemplate}">
4276
<ItemsControl.ItemsPanel>
4377
<ItemsPanelTemplate>
44-
<StackPanel Orientation="Horizontal" Margin="15,0,15,10" />
78+
<VariableSizedWrapGrid Orientation="Horizontal" ItemWidth="112" />
4579
</ItemsPanelTemplate>
4680
</ItemsControl.ItemsPanel>
4781
</ItemsControl>
48-
<Button Command="{x:Bind ViewModel.SetMoveCommand, Mode=OneTime}" Grid.Column="1" Margin="4" VerticalAlignment="Top" Height="92" Width="100">
82+
<Button
83+
x:Name="MoveSubmitButton"
84+
Margin="4"
85+
Height="92"
86+
MinWidth="120"
87+
HorizontalAlignment="Stretch"
88+
VerticalAlignment="Stretch"
89+
Command="{x:Bind ViewModel.SetMoveCommand, Mode=OneTime}">
4990
<StackPanel Orientation="Vertical" Spacing="5">
5091
<SymbolIcon Symbol="Send" Visibility="{x:Bind ViewModel.SetMoveCommand.IsRunning, Mode=OneWay, Converter={StaticResource BoolToVisibility}, ConverterParameter=True}" />
5192
<ProgressRing Visibility="{x:Bind ViewModel.SetMoveCommand.IsRunning, Mode=OneWay}" />

0 commit comments

Comments
 (0)