-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMainWindow.xaml
126 lines (126 loc) · 8.2 KB
/
MainWindow.xaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<Window x:Class="Billiard.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:local="clr-namespace:Billiard"
mc:Ignorable="d"
ResizeMode="NoResize"
WindowState="Normal"
WindowStyle="SingleBorderWindow"
SizeToContent="WidthAndHeight"
Title="Solo Billard"
>
<Window.Resources>
<Style x:Key="ImageButton" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border
Padding="0, 200, 0, 200"
Background="Transparent">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<Grid ClipToBounds="True" Width="Auto" Height="Auto">
<Grid.Background>
<RadialGradientBrush GradientOrigin="0.5, 0.5" Center="0.5, 0.5" RadiusX="0.5" RadiusY="0.5">
<RadialGradientBrush.GradientStops>
<GradientStop Color="LightSlateGray" Offset="0"/>
<GradientStop Color="DarkSlateGray" Offset="1" />
</RadialGradientBrush.GradientStops>
</RadialGradientBrush>
</Grid.Background>
<Button Style="{StaticResource ImageButton}" Click="HitBall">
<TabPanel>
<Canvas Height="547" Width="200">
<Image Source="pack://application:,,,/Resources/Images/capsule.png" Panel.ZIndex="2" Height="547" />
<Canvas x:Name="Half" Width="200" Height="547" Panel.ZIndex="1" />
</Canvas>
<Canvas Width="970" Height="547">
<Canvas.Background>
<ImageBrush ImageSource="pack://application:,,,/Resources/Images/table.png" />
</Canvas.Background>
<Canvas x:Name="Table" Width="970" Height="547" ClipToBounds="True">
<Canvas.Background>
<ImageBrush ImageSource="pack://application:,,,/Resources/Images/table.png" />
</Canvas.Background>
<Canvas.OpacityMask>
<ImageBrush ImageSource="pack://application:,,,/Resources/Images/table_mask.png" />
</Canvas.OpacityMask>
</Canvas>
<Image x:Name="Overlay" Width="970" Height="547" Stretch="None" />
</Canvas>
<Canvas Width="200" Height="547">
<Image Height="547" Source="pack://application:,,,/Resources/Images/capsule.png" Panel.ZIndex="2" />
<Canvas x:Name="Full" Width="200" Height="547" Panel.ZIndex="1" />
</Canvas>
</TabPanel>
</Button>
<Image x:Name="Queue" Source="pack://application:,,,/Resources/Images/queue.png" Width="200" Height="200" IsHitTestVisible="False" />
</Grid>
<materialDesign:Card Width="970" VerticalAlignment="Top" Margin="0, 16">
<DockPanel>
<Button Style="{StaticResource MaterialDesignFlatButton}" Click="RestartGame" Margin="8, 0, 8, 0">Neustart</Button>
<Button Click="OpenHighscore" Style="{StaticResource MaterialDesignFlatButton}">Highscores</Button>
<DockPanel HorizontalAlignment="Right">
<Button Click="ToggleSound" Style="{StaticResource MaterialDesignFlatButton}">
<materialDesign:PackIcon x:Name="ToggleSoundIcon" Kind="VolumeHigh" />
</Button>
<Button Click="ToggleFullScreen" Style="{StaticResource MaterialDesignFlatButton}">
<materialDesign:PackIcon Kind="Fullscreen" />
</Button>
<Button Click="CloseApplication" Style="{StaticResource MaterialDesignFlatButton}">
<materialDesign:PackIcon Kind="ExitToApp" />
</Button>
<Image Margin="8, 0, 0, 0" Height="64" IsHitTestVisible="False" Source="pack://application:,,,/Resources/Images/logo.png" />
</DockPanel>
</DockPanel>
</materialDesign:Card>
<materialDesign:Card HorizontalAlignment="Center" Visibility="Hidden" IsHitTestVisible="False" VerticalAlignment="Center" Padding="16" x:Name="LooseScreen">
<StackPanel>
<TextBlock Margin="32,16" Style="{StaticResource MaterialDesignHeadline6TextBlock}">Sie haben verloren</TextBlock>
<Button Click="RestartGame">
Neustart
</Button>
</StackPanel>
</materialDesign:Card>
<materialDesign:Card IsHitTestVisible="False" HorizontalAlignment="Center" Visibility="Hidden" VerticalAlignment="Center" Padding="16" x:Name="WonHelper">
<StackPanel Margin="32,16">
<TextBlock Style="{StaticResource MaterialDesignHeadline6TextBlock}">Glückwunsch Sie haben gewonnen!</TextBlock>
<TextBox Margin="0, 16, 0, 0" Style="{StaticResource MaterialDesignComboBoxEditableTextBox}" x:Name="PlayerName">Hier Namen eintragen...</TextBox>
<Button Margin="0, 16, 0, 0" Click="SendHighscoreAndRestart">Neustarten und Highscore Speichern!</Button>
</StackPanel>
</materialDesign:Card>
<materialDesign:Card Visibility="Hidden" IsHitTestVisible="False" HorizontalAlignment="Center" VerticalAlignment="Center" x:Name="Highscore">
<StackPanel Width="500">
<DockPanel Margin="16">
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Style="{StaticResource MaterialDesignHeadline6TextBlock}">Highscores</TextBlock>
<Button VerticalAlignment="Center" Style="{StaticResource MaterialDesignFlatButton}" HorizontalAlignment="Right" Click="CloseHighscore">
<materialDesign:PackIcon Kind="Close" />
</Button>
</DockPanel>
<DataGrid Style="{StaticResource MaterialDesignDataGrid}" ItemsSource="{Binding}" x:Name="Scores" AutoGenerateColumns="False" AllowDrop="False" CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn SortDirection="Descending" Header="Punktzahl" Binding="{Binding Points}" />
<DataGridTextColumn Header="Datum" Binding="{Binding Date}" />
</DataGrid.Columns>
</DataGrid>
<TextBlock Style="{StaticResource MaterialDesignBody1TextBlock}" TextWrapping="Wrap" Margin="16" x:Name="HighScores" />
</StackPanel>
</materialDesign:Card>
<materialDesign:Card VerticalAlignment="Bottom" HorizontalAlignment="Center" IsHitTestVisible="False" Margin="0, 16">
<TextBlock Style="{StaticResource MaterialDesignBody2TextBlock}" Foreground="{StaticResource PrimaryHueMidBrush}" Padding="16" FontSize="20" Width="200" TextAlignment="Center" Text="{Binding Path=Score, Mode=OneWay}" />
</materialDesign:Card>
<materialDesign:Card VerticalAlignment="Top" HorizontalAlignment="Right" Margin="16" Width="60" Height="60">
<TextBlock Style="{StaticResource MaterialDesignBody2TextBlock}" Foreground="{StaticResource PrimaryHueMidBrush}" VerticalAlignment="Center" HorizontalAlignment="Center" Padding="0, 0, 0, 4" Text="{Binding Path=FPS, Mode=OneWay}" />
</materialDesign:Card>
</Grid>
</Window>