Загрузка данных


<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 = "Не верно!";
                }
            }
        }
    }
}