No Description

ivasileva 22d251229b Обновить 'readme.md' 3 weeks ago
WpfApp1 bc72548c45 update 3 weeks ago
screen 894c3aef8f Удалить 'screen/верхнийФон.png' 3 weeks ago
.gitignore 60c3461e4e Загрузить файлы '' 3 weeks ago
WpfApp1.sln bc72548c45 update 3 weeks ago
readme.md 22d251229b Обновить 'readme.md' 3 weeks ago

readme.md

Лабораторная работма по теме: "Каркас приложения. Модель данных. Привязка данных."

Папка 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; }
    }
}