Лабораторная работма по теме: "Каркас приложения. Модель данных. Привязка данных."
Папка Classes
using WpfApp.Model;
using WpfTemplate.Model;
namespace WpfTemplate.Classes
{
public class LocalDataProvider : IDataProvider
{
public IEnumerable<MedicinalProduct> getMedicinal()
{
return new MedicinalProduct[]{
new MedicinalProduct{
price=130,
quantity=150,
name="Парацетомол"},
new MedicinalProduct{
price=100,
quantity=200,
name="Ношпа"},
new MedicinalProduct{
price=150,
quantity=250,
name="Ибупрофен"}
};
}
}
}
using WpfTemplate.Model;
namespace WpfTemplate.Classes
{
interface IDataProvider
{
IEnumerable<MedicinalProduct> getMedicinal();
}
}
namespace WpfTemplate.Classes
{
class Globals
{
public static IDataProvider dataProvider;
}
}
MainWindow.xaml
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition />
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image
Source="C:\Users\User\source\repos\WpfApp1\WpfApp1\image\apteka.jpg"
Grid.RowSpan="2"/>
<StackPanel
Orientation="Vertical"
Grid.RowSpan="3"
VerticalAlignment="Bottom">
<Button
x:Name="ExitButton"
Content="Выход"
Click="ExitButton_Click"
Height="50"/>
</StackPanel>
<WrapPanel
Orientation="Horizontal"
Grid.Column="1"
MinHeight="50">
</WrapPanel>
<DataGrid
Grid.Row="1"
Grid.Column="1"
CanUserAddRows="False"
AutoGenerateColumns="False"
ItemsSource="{Binding MedicinalList}"
>
<DataGrid.Columns>
<DataGridTextColumn
Header="Название"
Binding="{Binding name}"/>
<DataGridTextColumn
Header="Количество"
Binding="{Binding quantity}"/>
<DataGridTextColumn
Header="Цена"
Binding="{Binding price}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
MainWindow.xaml.cs
using System.Collections.Generic;
using System.Diagnostics;
using System.Windows;
using WpfTemplate.Classes;
using WpfTemplate.Model;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public IEnumerable<MedicinalProduct> MedicinalList { get; set; }
public MainWindow()
{
InitializeComponent();
DataContext = this;
Globals.dataProvider = new LocalDataProvider();
MedicinalList = Globals.dataProvider.getMedicinal();
}
private void ExitButton_Click(
object sender,
RoutedEventArgs e)
{
Application.Current.Shutdown();
}
}
}
Папка Model
using WpfApp.Model;
namespace WpfTemplate.Model
{
public class MedicinalProduct
{
public string name { get; set; }
public int price { get; set; }
public int quantity { get; set; }
}
}
namespace WpfApp.Model
{
public class TypeOfMedicine
{
public string title { get; set; }
}
}
