Keine Beschreibung

vyakimova 71a621ed32 hermit crayfish vor 7 Monaten
.idea dd78004f9b baobab vor 9 Monaten
img 71a621ed32 hermit crayfish vor 7 Monaten
gitignore.txt b1eb6d37ef что это vor 10 Monaten
readme.md 71a621ed32 hermit crayfish vor 7 Monaten

readme.md

Каркас приложения. Модель данных. Привязка данных. Табличный вывод.

Каркас приложения.

<Grid ShowGridLines="True">
    <Grid.RowDefinitions>
        <RowDefinition Height="auto"/>
        <RowDefinition />
        <RowDefinition Height="auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="200"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>

    <!-- типа логотип компании -->
    <Image 
        Source="/Img/simon.png" 
        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>
</Grid>

Модель данных

1.

Cоздадим класс "Student"

namespace WpfTemplate.Model
{
    public class Cat
    {
        public string name { get; set; }
        public int age{ get; set; }
        public string course { get; set; }
        // национальность
        public string nation { get; set; }
        public string photo { get; set; }
    }
}    

2.

Cоздадим интерфейс IDataProvider

namespace WpfTemplate.Model
{
    interface IDataProvider
    {
        IEnumerable<Student> getStudents();
    }
}

Создадим класс LocalDataProvider

public class LocalDataProvider : IDataProvider
{
    public IEnumerable<Student> getStudents()
    {
        return new Student[]{
            new Student{
                age=25,
                nation="Китаец",
                course="4",
                name="Хэй Вэнь"},
            new Student{
                age=23,
                nation="Англичанин",
                course="2",
                name="Джейкоб Уилсон"},
            new Student{
                age=19,
                nation="Египтянка",
                course="1",
                name="Талиба Бадави"}
        };
    }
}

3.

Cоздадим класс Globals

class Globals
{
    public static IDataProvider dataProvider;
}

4.

присвоим глобальной переменной dataProvider экземпляр класса LocalDataProvider

public IEnumerable<Student> studentList { get; set; }

public MainWindow()
{
    InitializeComponent();
    DataContext = this;
    Globals.dataProvider = new LocalDataProvider();
    StudentList = Globals.dataProvider.getStudents();
}

private void ExitButton_Click(object sender, RoutedEventArgs e)
{
    Application.Current.Shutdown();
}

Привязка данных. Табличный вывод

 <DataGrid
    Grid.Row="1"
    Grid.Column="1"
    CanUserAddRows="False"
    AutoGenerateColumns="False"
    ItemsSource="{Binding studentList}">
    <DataGrid.Columns>
        <DataGridTextColumn
            Header="Имя"
            Binding="{Binding name}"/>
        <DataGridTextColumn
            Header="Возраст"
            Binding="{Binding age}"/>
        <DataGridTextColumn
            Header="Курс"
            Binding="{Binding course}"/>
        <DataGridTextColumn
            Header="Национальность"
            Binding="{Binding nation}"/>
    </DataGrid.Columns>
</DataGrid>

꒰ᐢ⸝⸝•༝•⸝⸝ᐢ꒱⸒⸒ 🧊

студент отчислился

зато его брат остался тут

а таблицу забрали себе раки отшельники для своих домиков