Update Lotto_Wpf/Lotto_Wpf/MainWindow.xaml

This commit is contained in:
Duy Anh Le 2025-06-11 13:56:07 +02:00
parent 3f904744d2
commit 21ac67aee4

View File

@ -1,132 +1,76 @@
<Window x:Class="LottoApp.MainWindow" 
<Window x:Class="LottoNumberBoard.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Lotto App" Height="600" Width="800" Title="Lotto Number Board" Height="500" Width="400">
Background="#1e1e1e" <DockPanel Margin="10">
WindowStartupLocation="CenterScreen"
Loaded="Window_Loaded">
<Grid> <StackPanel DockPanel.Dock="Bottom" Margin="0,10,0,0">
<Grid.ColumnDefinitions> <TextBlock Text="Selected Numbers:" FontWeight="Bold" FontSize="16" />
<ColumnDefinition Width="80"/> <TextBlock x:Name="ResultTextBlock" FontSize="14" Foreground="DarkBlue" TextWrapping="Wrap"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Background="#111" Orientation="Vertical">
<TextBlock Text="LOTTO" FontSize="16" FontWeight="Bold"
Foreground="White" Margin="0,20,0,20"
HorizontalAlignment="Center"/>
<Button Content="Home" FontSize="12" Margin="10" Background="Transparent" Foreground="White"/>
<Button Content="Spiel" FontSize="12" Margin="10" Background="Transparent" Foreground="White"/>
<Button Content="Geschichte" FontSize="12" Margin="10" Background="Transparent" Foreground="White"/>
</StackPanel> </StackPanel>
<!-- Main --> <!-- Number Buttons Grid -->
<StackPanel Grid.Column="1" Margin="20"> <ScrollViewer DockPanel.Dock="Top">
<TextBlock Text="Lotto " FontSize="28" FontWeight="Bold" Foreground="White" Margin="0,0,0,20"/> <UniformGrid Columns="7" Rows="7" Margin="0,0,0,10">
<UniformGrid x:Name="NumberGrid" Rows="7" Columns="7" Margin="0,0,0,20"/> <!-- Buttons 1 to 49 -->
<TextBlock x:Name="SelectedNumbersText" Foreground="White" FontSize="16" Margin="0,0,0,10"/> <Button Content="1" Margin="5" Click="NumberButton_Click"/>
<Button Content="2" Margin="5" Click="NumberButton_Click"/>
<Button Content="3" Margin="5" Click="NumberButton_Click"/>
<Button Content="4" Margin="5" Click="NumberButton_Click"/>
<Button Content="5" Margin="5" Click="NumberButton_Click"/>
<Button Content="6" Margin="5" Click="NumberButton_Click"/>
<Button Content="7" Margin="5" Click="NumberButton_Click"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,10,0,0"> <Button Content="8" Margin="5" Click="NumberButton_Click"/>
<Button Content="Wahlen" Width="100" Margin="0,0,10,0" Click="QuickPick_Click"/> <Button Content="9" Margin="5" Click="NumberButton_Click"/>
<Button Content="Loschen" Width="75" Margin="0,0,10,0" Click="Clear_Click"/> <Button Content="10" Margin="5" Click="NumberButton_Click"/>
</StackPanel> <Button Content="11" Margin="5" Click="NumberButton_Click"/>
</StackPanel> <Button Content="12" Margin="5" Click="NumberButton_Click"/>
<Button Content="13" Margin="5" Click="NumberButton_Click"/>
<Button Content="14" Margin="5" Click="NumberButton_Click"/>
<x:Code> <Button Content="15" Margin="5" Click="NumberButton_Click"/>
<![CDATA[ <Button Content="16" Margin="5" Click="NumberButton_Click"/>
using System; <Button Content="17" Margin="5" Click="NumberButton_Click"/>
using System.Collections.Generic; <Button Content="18" Margin="5" Click="NumberButton_Click"/>
using System.Linq; <Button Content="19" Margin="5" Click="NumberButton_Click"/>
using System.Windows; <Button Content="20" Margin="5" Click="NumberButton_Click"/>
using System.Windows.Controls; <Button Content="21" Margin="5" Click="NumberButton_Click"/>
using System.Windows.Media;
List<int> selectedNumbers = new List<int>(); <Button Content="22" Margin="5" Click="NumberButton_Click"/>
<Button Content="23" Margin="5" Click="NumberButton_Click"/>
<Button Content="24" Margin="5" Click="NumberButton_Click"/>
<Button Content="25" Margin="5" Click="NumberButton_Click"/>
<Button Content="26" Margin="5" Click="NumberButton_Click"/>
<Button Content="27" Margin="5" Click="NumberButton_Click"/>
<Button Content="28" Margin="5" Click="NumberButton_Click"/>
void Window_Loaded(object sender, RoutedEventArgs e) <Button Content="29" Margin="5" Click="NumberButton_Click"/>
{ <Button Content="30" Margin="5" Click="NumberButton_Click"/>
for (int i = 1; i <= 49; i++) <Button Content="31" Margin="5" Click="NumberButton_Click"/>
{ <Button Content="32" Margin="5" Click="NumberButton_Click"/>
Button btn = new Button <Button Content="33" Margin="5" Click="NumberButton_Click"/>
{ <Button Content="34" Margin="5" Click="NumberButton_Click"/>
Content = i.ToString(), <Button Content="35" Margin="5" Click="NumberButton_Click"/>
Margin = new Thickness(5),
Background = Brushes.LightGray,
Foreground = Brushes.Black,
Tag = i
};
btn.Click += NumberButton_Click;
NumberGrid.Children.Add(btn);
}
}
void NumberButton_Click(object sender, RoutedEventArgs e) <Button Content="36" Margin="5" Click="NumberButton_Click"/>
{ <Button Content="37" Margin="5" Click="NumberButton_Click"/>
Button btn = sender as Button; <Button Content="38" Margin="5" Click="NumberButton_Click"/>
int number = (int)btn.Tag; <Button Content="39" Margin="5" Click="NumberButton_Click"/>
<Button Content="40" Margin="5" Click="NumberButton_Click"/>
<Button Content="41" Margin="5" Click="NumberButton_Click"/>
<Button Content="42" Margin="5" Click="NumberButton_Click"/>
if (selectedNumbers.Contains(number)) <Button Content="43" Margin="5" Click="NumberButton_Click"/>
{ <Button Content="44" Margin="5" Click="NumberButton_Click"/>
selectedNumbers.Remove(number); <Button Content="45" Margin="5" Click="NumberButton_Click"/>
btn.Background = Brushes.LightGray; <Button Content="46" Margin="5" Click="NumberButton_Click"/>
} <Button Content="47" Margin="5" Click="NumberButton_Click"/>
else if (selectedNumbers.Count < 6) <Button Content="48" Margin="5" Click="NumberButton_Click"/>
{ <Button Content="49" Margin="5" Click="NumberButton_Click"/>
selectedNumbers.Add(number); </UniformGrid>
btn.Background = Brushes.Orange; </ScrollViewer>
} </DockPanel>
SelectedNumbersText.Text = string.Join(", ", selectedNumbers.OrderBy(n => n));
}
void QuickPick_Click(object sender, RoutedEventArgs e)
{
Random rand = new Random();
selectedNumbers.Clear();
var buttons = NumberGrid.Children.OfType<Button>().ToList();
foreach (Button btn in buttons)
btn.Background = Brushes.LightGray;
while (selectedNumbers.Count < 6)
{
int n = rand.Next(1, 50);
if (!selectedNumbers.Contains(n))
selectedNumbers.Add(n);
}
foreach (Button btn in buttons)
{
if (selectedNumbers.Contains((int)btn.Tag))
btn.Background = Brushes.Orange;
}
SelectedNumbersText.Text = string.Join(", ", selectedNumbers.OrderBy(n => n));
}
void Clear_Click(object sender, RoutedEventArgs e)
{
selectedNumbers.Clear();
foreach (Button btn in NumberGrid.Children.OfType<Button>())
btn.Background = Brushes.LightGray;
SelectedNumbersText.Text = "";
}
void Submit_Click(object sender, RoutedEventArgs e)
{
if (selectedNumbers.Count != 6)
{
MessageBox.Show("Please select exactly 6 numbers.");
return;
}
MessageBox.Show("Numbers submitted: " + string.Join(", ", selectedNumbers.OrderBy(n => n)));
}
]]>
</x:Code>
</Grid>
</Window> </Window>