Загрузка данных
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>