Загрузка данных
<Window x:Class="WpfApp1.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:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="AriphmeticTrainer" Height="470" Width="800" Background="Gray">
<Grid>
<Border Background="DarkGray" Width="400" HorizontalAlignment="Left" >
<Grid>
<TextBlock TextWrapping="Wrap" Text="Список тестов" HorizontalAlignment="Center" Margin="0,0,0,409" Width="109" FontSize="16" Background="Gray"/>
<ListView x:Name="SPISOK" Margin="10 40 10 60"/>
<Button Content="создать тест" HorizontalAlignment="Left" Margin="35,377,0,0" VerticalAlignment="Top" Width="102" Height="35" FontSize="14" Click="Button_Click_1"/>
<Button Content="редактировать" HorizontalAlignment="Left" Margin="254,377,0,0" VerticalAlignment="Top" Height="35" Width="105" FontSize="14"/>
</Grid>
</Border>
<Button Content="пройти тест" HorizontalAlignment="Left" Margin="659,383,0,0" VerticalAlignment="Top" Width="115" Height="41" FontSize="14" BorderBrush="#FF0D8044" BorderThickness="2" Click="Button_Click_2"/>
</Grid>
</Window>
using System.Windows;
using WpfLibrary5;
using System.Collections.Generic;
using System.Linq;
namespace WpfApp1
{
public partial class MainWindow : Window
{
MyDbContext database = new MyDbContext();
public static int SelectedTestId;
public MainWindow()
{
InitializeComponent();
SPISOK.ItemsSource = database.Tests.ToList();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
if (SPISOK.SelectedItem is Test selected)
{
SelectedTestId = selected.Id;
var window = new Window2();
Application.Current.MainWindow.Close();
window.Show();
}
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
if (SPISOK.SelectedItem is Test selected)
{
SelectedTestId = selected.Id;
var window = new Window2();
Application.Current.MainWindow.Close();
window.Show();
}
}
}
}
второе окно:
<Window x:Class="WpfApp1.Window2"
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:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="прохождение теста" Height="450" Width="800" Background="LightGray">
<Grid Height="400" Width="300" Background="DarkGray" HorizontalAlignment="Left">
<Grid Width="300" HorizontalAlignment="Left">
<ListBox Background="Transparent" x:Name="QuestionsList" FontSize="15" Margin="0 70 0 50"/>
<TextBlock Text="введите правильный ответ" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0 140 0 0"/>
<TextBox x:Name="proverka" Width="125" Height="40" Margin="0 210 0 0"/>
<Button Content="завершить тест" Height="50" Width="100" VerticalAlignment="Bottom" HorizontalAlignment="Center" BorderBrush="Green" BorderThickness="2" Click="Button_Click_1"/>
</Grid>
<Grid HorizontalAlignment="Center">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Width="200" Margin="0 0 0 0">
<TextBlock x:Name="vivod" Text="" FontSize="20" TextWrapping="WrapWithOverflow"/>
</StackPanel>
</Grid>
</Grid>
</Window>
using System.Windows;
using WpfLibrary5;
using System.Collections.Generic;
using System.Linq;
namespace WpfApp1
{
public partial class Window2 : Window
{
MyDbContext database = new MyDbContext();
public Window2()
{
InitializeComponent();
List<Question> all_questions = database.Questions.ToList();
List<Question> my_questions = new List<Question>();
foreach (Question question in all_questions)
{
if (question.TestId == MainWindow.SelectedTestId)
{
my_questions.Add(question);
}
}
QuestionsList.ItemsSource = my_questions;
QuestionsList.SelectedIndex = 0;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
if (QuestionsList.SelectedItem is Question selected)
{
if (proverka.Text == selected.CorrectAnswers)
{
vivod.Text = "Верно!";
}
else
{
vivod.Text = "Не верно!";
}
}
}
}
}