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


using System.Collections.Generic;

namespace NameGenerator
{
    public class NamesDB
    {
        public int idDB { get; set; }
        public string regionDB { get; set; }
        public string genderDB { get; set; }
        public string nameDB { get; set; }
        public string lastNameDB { get; set; }

        public static List<NamesDB> name = new List<NamesDB>
        {
            new NamesDB{ idDB=1, regionDB="Славяне", genderDB="Мужской", nameDB="Александр", lastNameDB="Иванов"},
            new NamesDB{ idDB=2, regionDB="Славяне", genderDB="Мужской", nameDB="Алексей", lastNameDB="Петров"},
            new NamesDB{ idDB=3, regionDB="Славяне", genderDB="Мужской", nameDB="Иван", lastNameDB="Сидоров"},
            new NamesDB{ idDB=4, regionDB="Славяне", genderDB="Мужской", nameDB="Геннадий", lastNameDB="Кузнецов"},
            new NamesDB{ idDB=5, regionDB="Славяне", genderDB="Женский", nameDB="Анна", lastNameDB="Иванова"}
        };
    }
}


using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;

namespace NameGenerator
{
    public partial class MainWindow : Window
    {
        int x = 0;
        Random random = new Random();

        public MainWindow()
        {
            InitializeComponent();
        }

        private void generatorBtn_Click(object sender, RoutedEventArgs e)
        {
            outTxt.Text = "";

            for (int i = 0; i < count.Value; i++)
            {
                x = random.Next(1, 5);
                randNames(x);
            }
        }

        private void randNames(int x)
        {
            string region = regCmbBx.Text;
            string gender = genderCmbBx.Text;

            string nameTxt =
                NamesDB.name.Where(w =>
                w.idDB == x &&
                w.regionDB == region &&
                w.genderDB == gender)
                .Select(t => t.nameDB)
                .FirstOrDefault();

            outTxt.Text += nameTxt + "\n";
        }

        private void count_ValueChanged(object sender,
            RoutedPropertyChangedEventArgs<double> e)
        {
            try
            {
                countVal.Content =
                    Convert.ToString(Math.Round(count.Value));
            }
            catch { }
        }
    }
}



<Window x:Class="NameGenerator.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="NameGenerator" Height="450" Width="800">

    <Grid>

        <Button Name="generatorBtn"
                Content="Button"
                HorizontalAlignment="Left"
                Margin="376,376,0,0"
                VerticalAlignment="Top"
                Width="120"
                Click="generatorBtn_Click"/>

        <TextBox Name="outTxt"
                 HorizontalAlignment="Left"
                 Margin="12,10,0,0"
                 VerticalAlignment="Top"
                 Height="324"
                 Width="780"/>

        <Slider Name="count"
                HorizontalAlignment="Left"
                Margin="302,350,0,0"
                VerticalAlignment="Top"
                Width="120"
                Minimum="1"
                Maximum="10"
                ValueChanged="count_ValueChanged"/>

        <ComboBox Name="regCmbBx"
                  HorizontalAlignment="Left"
                  Margin="52,348,0,0"
                  VerticalAlignment="Top"
                  Width="120">

            <ComboBoxItem>Славяне</ComboBoxItem>

        </ComboBox>

        <ComboBox Name="genderCmbBx"
                  HorizontalAlignment="Left"
                  Margin="177,348,0,0"
                  VerticalAlignment="Top"
                  Width="120">

            <ComboBoxItem>Мужской</ComboBoxItem>
            <ComboBoxItem>Женский</ComboBoxItem>

        </ComboBox>

        <Label Name="countVal"
               Content="0"
               HorizontalAlignment="Left"
               Margin="343,330,0,0"
               VerticalAlignment="Top"/>

    </Grid>
</Window>