Предмет:
Тип роботи:
Курсова робота
К-сть сторінок:
38
Мова:
Українська
<DataGrid x:Name="ResultDataGrid" AutoGenerateColumns="False" HorizontalAlignment="Stretch" Margin="6,0" Width="456">
<DataGrid.Columns>
<DataGridTextColumn Header="Результат игрока №1" Binding="{Binding FirstPlayerScore}"/>
<DataGridTextColumn Header="Результат игрока №2" Binding="{Binding SecondPlayerScore}"/>
<DataGridTextColumn Header="Игрок №1" Binding="{Binding winnerName}" />
<DataGridTextColumn Header="Игрок №2" Binding="{Binding loserName}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
<TabItem.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF3F3F3" Offset="0"/>
<GradientStop Color="#FFEBEBEB" Offset="0.5"/>
<GradientStop Color="#FFDDDDDD" Offset="0.5"/>
<GradientStop Color="#FFA00000" Offset="1"/>
</LinearGradientBrush>
</TabItem.Background>
</TabItem>
</TabControl>
</Grid>
</Window>
При виклику цього вікна відбуваються наступні дії:
public Results(string winnerName, string loserName, int leftPlayerScore, int rightPlayerScore)
{InitializeComponent();//инициализация компоненов полученными в конструкторе значениями (очки)
txtWinner.Text = winnerName;txtLoser.Text = loserName;
score1.Text = leftPlayerScore.ToString();score2.Text = rightPlayerScore.ToString();
lblWinner.Content = winnerName;
try
{
results = mySerializer.Deserialize<ObservableCollection<GameResult>>("RESULTS_DATA.XML"); //десериализуем из файла Данные и запихиваем в коллекцию
results.Add(new GameResult(leftPlayerScore, rightPlayerScore, winnerName, loserName)); //добавляем нужные результаты
mySerializer.Serialize("RESULTS_DATA.XML",results ); //пишем обратно в файл
ResultDataGrid.ItemsSource = results; //привязка данных для грида (подробно в биндинге в разметке)
}
catch (Exception ex)
{MessageBox.Show(ex.Message);
}}
Обробник кнопки «Играть заного»:
private void Button_Click_2(object sender, RoutedEventArgs e)
{new Names().Show();
this.Close();}
Вікно «Настройки» (Рис. 2.5) викликається для зміни налаштувань гри.
Рисунок 2.5 Вікно «Настройки»
Код XAML:
<Window x:Class="PongGame.Settings"
Title="Настройки" Height="400" Width="524" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" WindowStyle="None">
<Window.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFBED2FF" Offset="0"/>
<GradientStop Color="White" Offset="1"/>
</LinearGradientBrush>
</Window.Background>
<Grid Background="#FFCBDEFF">
<DockPanel HorizontalAlignment="Left" Height="40" LastChildFill="False" Margin="10,19,0,0" VerticalAlignment="Top" Width="498">
<DockPanel.Background>
<RadialGradientBrush>
<GradientStop Color="#FFCBDEFF" Offset="1"/>
<GradientStop Color="White"/>
</RadialGradientBrush>
</DockPanel.Background>
<Label x:Name="lbl1" Content="НАСТРОЙКИ" DockPanel.Dock="Top" Height="45" HorizontalAlignment="Left" Width="137" Margin="190,2,0,0" FontFamily="Segoe UI, Lucida Sans Unicode, Verdana" FontSize="20" FontStyle="Italic"/>
</DockPanel>
<Slider Name="slider" HorizontalAlignment="Left" Margin="186,84,0,0" Maximum="25" IsSnapToTickEnabled="True" VerticalAlignment="Top" Height="28" Width="180" Background="Transparent" BorderBrush="#FFFF4040" Foreground="#FFE06666" Value="5" Panel.ZIndex="1" Minimum="1"/>
<TextBox x:Name="txtSpeed" Text="{Binding Value, ElementName=slider}" Margin="381,77,86,0" Panel.ZIndex="1" Height="35" VerticalAlignment="Top"/>
<Button x:Name="btnAccept" Content="Принять" HorizontalAlignment="Left" Margin="96,320,0,0" VerticalAlignment="Top" Width="154" Click="btnAccept_Click" Height="27"/>
<Button x:Name="btnBack" Content="Назад" HorizontalAlignment="Left" Margin="284,320,0,0" VerticalAlignment="Top" Width="154" Click="btnBack_Click" Height="27"/>
<Rectangle Height="40" Margin="49,77,47,0" Stroke="#FFCBDEFF" VerticalAlignment="Top">
<Rectangle.Fill>
<RadialGradientBrush>
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="#FFCBDEFF" Offset="1"/>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Label Content="Скорость шарика" HorizontalAlignment="Left" Margin="27,77,0,0" VerticalAlignment="Top" FontSize="16" FontStyle="Italic"/>
<Slider x:Name="slider_Copy" HorizontalAlignment="Left" Margin="186,167,0,0" Maximum="15" IsSnapToTickEnabled="True" VerticalAlignment="Top" Height="28" Width="180" Background="Transparent" BorderBrush="#FFFF4040" Foreground="#FFE06666" Value="5" Panel.ZIndex="1" Minimum="1"/>
<TextBox x:Name="txtSpeed_Copy" Text="{Binding Value, ElementName=slider_Copy}"