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


using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;

namespace Щебнев
{
    internal class FV
    {
        public static double m = 0;

        public class Metal
        {
            public string Metals { get; set; }
            public string Name { get; set; }
            public double Density { get; set; }
            public string History { get; set; }
        }

        public static List<Metal> metal = new List<Metal>
        {
            new Metal { Metals = "Сталь", Name = "Steel", Density = 7.85, History = "Углеродистая сталь. Самый распространённый конструкционный материал." },
            new Metal { Metals = "Сталь", Name = "Stainless Steel", Density = 7.90, History = "Нержавеющая сталь. Высокая коррозионная стойкость." },
            new Metal { Metals = "Сталь", Name = "A36", Density = 7.85, History = "Конструкционная сталь A36." },

            new Metal { Metals = "Нержавеющая сталь", Name = "Stainless Steel", Density = 7.90, History = "Нержавеющая сталь. Высокая коррозионная стойкость." },
            new Metal { Metals = "Нержавеющая сталь", Name = "AISI 304", Density = 7.93, History = "Популярная пищевая нержавейка AISI 304." },
            new Metal { Metals = "Нержавеющая сталь", Name = "AISI 316", Density = 8.00, History = "Кислотостойкая нержавейка AISI 316." },

            new Metal { Metals = "Алюминий", Name = "Aluminium", Density = 2.70, History = "Чистый алюминий. Лёгкий металл с хорошей проводимостью." },
            new Metal { Metals = "Алюминий", Name = "AlMg3", Density = 2.66, History = "Алюминиевый сплав AlMg3 (магналий)." },
            new Metal { Metals = "Алюминий", Name = "D16", Density = 2.78, History = "Дюралюминий Д16." },

            new Metal { Metals = "Бронза", Name = "Bronze", Density = 8.80, History = "Оловянная бронза." },
            new Metal { Metals = "Бронза", Name = "BrOF10-1", Density = 8.70, History = "Бронза БрОФ10-1." },

            new Metal { Metals = "Латунь", Name = "Brass", Density = 8.50, History = "Латунь." },
            new Metal { Metals = "Латунь", Name = "L63", Density = 8.45, History = "Латунь Л63." },

            new Metal { Metals = "Медь", Name = "Copper", Density = 8.96, History = "Чистая медь. Отличная электропроводность." },
            new Metal { Metals = "Титан", Name = "Titanium", Density = 4.51, History = "Титан. Высокая прочность при малом весе." },
            new Metal { Metals = "Чугун", Name = "Cast Iron", Density = 7.20, History = "Серый чугун." },
            new Metal { Metals = "Цинк", Name = "Zinc", Density = 7.14, History = "Цинк." }
        };
    }

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Material_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (Material.SelectedItem == null) return;

            string v = ((ComboBoxItem)Material.SelectedItem).Content.ToString();

            MarkaMetall.ItemsSource = FV.metal
                .Where(m => m.Metals == v)
                .Select(p => p.Name)
                .ToList();

            if (MarkaMetall.Items.Count > 0)
                MarkaMetall.SelectedIndex = 0;
        }

        private void MarkaMetall_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (MarkaMetall.SelectedItem == null) return;

            string p = MarkaMetall.SelectedItem as string;

            if (p != null)
            {
                var metal = FV.metal.FirstOrDefault(m => m.Name == p);
                if (metal != null)
                {
                    Density.Text = metal.Density.ToString("F2");
                    History.Text = metal.History;     
                }
            }
        }

        private void RadioButton_Checked(object sender, RoutedEventArgs e) { }
        private void CheckBox_Checked(object sender, RoutedEventArgs e) { }
        private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { }
        private void TextBox_TextChanged_1(object sender, TextChangedEventArgs e) { }
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { }
    }
}


 <Window x:Class="Щебнев.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:Щебнев"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid Margin="-1,0,1,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="101*"/>
            <ColumnDefinition Width="99*"/>
        </Grid.ColumnDefinitions>
        <Label Content="тип проката:" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Уголок" HorizontalAlignment="Left" Margin="10,41,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Лист" HorizontalAlignment="Left" Margin="10,61,0,0" VerticalAlignment="Top" Checked="RadioButton_Checked"/>
        <RadioButton Content="Труба" HorizontalAlignment="Left" Margin="10,81,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Круг, проволока" HorizontalAlignment="Left" Margin="10,103,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Квадратная труба" HorizontalAlignment="Left" Margin="10,123,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Квадрат" HorizontalAlignment="Left" Margin="10,143,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Швеллер" HorizontalAlignment="Left" Margin="10,162,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Лента" HorizontalAlignment="Left" Margin="10,182,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Балка" HorizontalAlignment="Left" Margin="10,202,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Шестигранник" HorizontalAlignment="Left" Margin="10,222,0,0" VerticalAlignment="Top"/>
        <RadioButton Content="Рельсы" HorizontalAlignment="Left" Margin="11,242,0,0" VerticalAlignment="Top"/>
        <ComboBox Name ="Material" HorizontalAlignment="Left" Margin="202,54,0,0" VerticalAlignment="Top" Width="120" SelectionChanged="Material_SelectionChanged">
            <ComboBoxItem Name='steel'>Сталь</ComboBoxItem>
            <ComboBoxItem Name="StainlessSteel">Нержавеющая сталь</ComboBoxItem>
            <ComboBoxItem Name="Aluminium">Алюминий</ComboBoxItem>
            <ComboBoxItem Name="Bronze">Бронза</ComboBoxItem>
            <ComboBoxItem Name="Brass">Латунь</ComboBoxItem>
            <ComboBoxItem Name="Copper">Медь</ComboBoxItem>
            <ComboBoxItem Name="Titanium">Титан</ComboBoxItem>
            <ComboBoxItem Name="CastIron">Чугун</ComboBoxItem>
            <ComboBoxItem Name="Zinc">Цинк</ComboBoxItem>
        </ComboBox>

        <ComboBox x:Name="MarkaMetall" HorizontalAlignment="Left" Margin="202,107,0,0" VerticalAlignment="Top"  Width="120" SelectionChanged="MarkaMetall_SelectionChanged"/>
        <Button Grid.Column="1" Content="Рассчитать" HorizontalAlignment="Left" Margin="47,155,0,0" VerticalAlignment="Top" Width="120" Height="22"/>
        <Label Content="Материал:" HorizontalAlignment="Left" Margin="202,28,0,0" VerticalAlignment="Top"/>
        <Label Content="Марка металла:" HorizontalAlignment="Left" Margin="202,81,0,0" VerticalAlignment="Top"/>
        <CheckBox Content="Открыть справку" HorizontalAlignment="Left" Margin="202,185,0,0" VerticalAlignment="Top" Checked="CheckBox_Checked"/>
        <TextBox Grid.ColumnSpan="2" HorizontalAlignment="Left" Margin="326,54,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Height="22" TextChanged="TextBox_TextChanged"/>
        <TextBox Grid.ColumnSpan="2" HorizontalAlignment="Left" Margin="325,107,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Height="22"/>
        <TextBox Grid.ColumnSpan="2" HorizontalAlignment="Left" Margin="325,155,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Height="22"/>
        <TextBox Name="Density" HorizontalAlignment="Left" Margin="202,155,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Height="22" TextChanged="TextBox_TextChanged_1"/>
        <TextBox HorizontalAlignment="Left" Margin="47,54,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Height="22" Grid.Column="1"/>
        <TextBox HorizontalAlignment="Left" Margin="47,107,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Height="22" Grid.Column="1"/>
        <Label Content="Сторона а, мм:" HorizontalAlignment="Left" Margin="325,28,0,0" VerticalAlignment="Top" Grid.ColumnSpan="2" Width="97"/>
        <Label Content="Толщина стенки s, мм:" HorizontalAlignment="Left" Margin="39,31,0,0" VerticalAlignment="Top" Width="136" Grid.Column="1"/>
        <Label Content="Сторона b, мм" HorizontalAlignment="Left" Margin="325,81,0,0" VerticalAlignment="Top" Grid.ColumnSpan="2" Width="97"/>
        <Label Content="Длина I, м:" HorizontalAlignment="Left" Margin="47,81,0,0" VerticalAlignment="Top" Width="97" Grid.Column="1"/>
        <Label Content="Вес металла кг:" HorizontalAlignment="Left" Margin="336,130,0,0" VerticalAlignment="Top" Grid.ColumnSpan="2" Width="98"/>
        <Label Content="Плотность металла г/см3" Margin="184,129,64,0" VerticalAlignment="Top" Height="24"/>
        <TextBox x:Name="History" HorizontalAlignment="Left" Margin="202,222,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="369" Grid.ColumnSpan="2" Height="116"/>

    </Grid>
</Window>