Skip to content

Commit d9eb491

Browse files
committed
Defined visual states for gamePage of WPF application
1 parent 295d76f commit d9eb491

1 file changed

Lines changed: 51 additions & 5 deletions

File tree

src/Codebreaker.WPF/Views/Pages/GamePage.xaml

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,51 @@
1414
<conv:ColorNameToBrushConverter x:Key="ColorConverter" />
1515
</Page.Resources>
1616

17-
<Grid>
17+
<Grid x:Name="ContentWrapper">
18+
<VisualStateManager.VisualStateGroups>
19+
<VisualStateGroup x:Name="Test">
20+
<VisualState x:Name="Start">
21+
<Storyboard>
22+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="StartGameArea" Storyboard.TargetProperty="Visibility">
23+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Visible}" />
24+
</ObjectAnimationUsingKeyFrames>
25+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="PegSelectionArea" Storyboard.TargetProperty="Visibility">
26+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Collapsed}" />
27+
</ObjectAnimationUsingKeyFrames>
28+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="PegScrollViewer" Storyboard.TargetProperty="Visibility">
29+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Collapsed}" />
30+
</ObjectAnimationUsingKeyFrames>
31+
</Storyboard>
32+
</VisualState>
33+
<VisualState x:Name="Playing">
34+
<Storyboard>
35+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="StartGameArea" Storyboard.TargetProperty="Visibility">
36+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Collapsed}" />
37+
</ObjectAnimationUsingKeyFrames>
38+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="PegSelectionArea" Storyboard.TargetProperty="Visibility">
39+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Visible}" />
40+
</ObjectAnimationUsingKeyFrames>
41+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="PegScrollViewer" Storyboard.TargetProperty="Visibility">
42+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Visible}" />
43+
</ObjectAnimationUsingKeyFrames>
44+
</Storyboard>
45+
</VisualState>
46+
<VisualState x:Name="Finished">
47+
<Storyboard>
48+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="StartGameArea" Storyboard.TargetProperty="Visibility">
49+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Collapsed}" />
50+
</ObjectAnimationUsingKeyFrames>
51+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="PegSelectionArea" Storyboard.TargetProperty="Visibility">
52+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Collapsed}" />
53+
</ObjectAnimationUsingKeyFrames>
54+
<ObjectAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="PegScrollViewer" Storyboard.TargetProperty="Visibility">
55+
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Visible}" />
56+
</ObjectAnimationUsingKeyFrames>
57+
</Storyboard>
58+
</VisualState>
59+
</VisualStateGroup>
60+
</VisualStateManager.VisualStateGroups>
61+
1862
<Grid.RowDefinitions>
1963
<RowDefinition Height="Auto" />
2064
<RowDefinition Height="Auto" />
@@ -26,7 +70,10 @@
2670
Panel.ZIndex="1"
2771
Grid.Row="0"/>
2872

29-
<Grid Grid.Row="1" Margin="8" Visibility="{Binding ViewModel.GameStatus, Mode=OneWay, Converter={StaticResource GameStatusVisibilityConverter}, ConverterParameter=Start}">
73+
<Grid
74+
x:Name="StartGameArea"
75+
Grid.Row="1"
76+
Margin="8">
3077
<Grid.RowDefinitions>
3178
<RowDefinition MinHeight="20" />
3279
<RowDefinition />
@@ -54,18 +101,17 @@
54101
</Grid>
55102

56103
<components:PegSelectionView
104+
x:Name="PegSelectionArea"
57105
Grid.Row="1"
58-
Visibility="{Binding ViewModel.GameStatus, Mode=OneWay, Converter={StaticResource GameStatusVisibilityConverter}, ConverterParameter=Cancelable}"
59106
Margin="86,0,0,8"
60107
ViewModel="{Binding ViewModel, ElementName=Self, Mode=OneWay}" />
61108

62-
<ScrollViewer Grid.Row="2" Padding="0,0,0,15" x:Name="pegScrollViewer">
109+
<ScrollViewer Grid.Row="2" Padding="0,0,0,15" x:Name="PegScrollViewer">
63110
<ListView
64111
BorderThickness="0"
65112
SelectedIndex="-1"
66113
IsHitTestVisible="False"
67114
HorizontalContentAlignment="Stretch"
68-
Visibility="{Binding ViewModel.GameStatus, Mode=OneWay, Converter={StaticResource GameStatusVisibilityConverter}, ConverterParameter=Running}"
69115
ItemsSource="{Binding ViewModel.GameMoves, Mode=OneWay}"
70116
ItemTemplate="{StaticResource PegsTemplate}" />
71117
</ScrollViewer>

0 commit comments

Comments
 (0)