Datenbindung für Wpf DataGrid

Im Prozess der Projektentwicklung stoße ich normalerweise auf einige Tabellendatenbindungen, da ich keine Erfahrung in der WPF-Entwicklung habe, also entwickle ich, während ich tastend entwickle. Glücklicherweise ist WPF nicht schwer zu starten, und der Entwicklungsprozess ist relativ reibungslos. Bei der Verwendung von DataGrid stieß ich jedoch immer noch auf ein kleines Hindernis. Hier erfahren Sie, wie Sie dieses DataGrid verwenden und worauf Sie achten müssen.

DataGrid ist ein sehr praktisches Steuerelement, mit dem komplexere Datenstrukturen angezeigt und abgerufen werden können.

Um DataGrid zu verwenden und Daten unter WPF zu binden, ist die allgemeine Operation wie folgt:

1. Fügen Sie DataGrid in der XML-Datei der Ressourcenansicht hinzu und legen Sie die Bindung wie folgt fest.

<Fenster x:Class="Wpfdemo.Window1"

    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:Wpfdemo"

    mc:Ignorable="d"

    Title="Window1" Height="300" Width="300">

<Grid>

    <DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch" Margin="5,5" Name="dataGrid1" VerticalAlignment="Stretch" ItemsSource="{Binding}" HorizontalGridLinesBrush="Gainsboro" VerticalGridLinesBrush="Gainsboro">

        <DataGrid.Columns>

            <DataGridTextColumn Header=" ID " Binding="{Binding ID}" ></DataGridTextColumn>

            <DataGridTextColumn Header="姓 名" Width ="100" Binding="{Binding Name}" ></DataGridTextColumn>

            <DataGridTextColumn Header="电 话" Width ="100" Binding="{Binding PhoneNumber}" ></DataGridTextColumn>

            <DataGridTextColumn Header="住 址" Width ="100" Binding="{Binding Address}" ></DataGridTextColumn>

        </DataGrid.Columns>

    </DataGrid>

</Grid>

Legen Sie das Objekt fest, an das das DataGrid im Initialisierungscode gebunden ist.
{

    public Window1()

    {

        InitializeComponent();

        DataTable dt = new System.Data.DataTable();

        dt.Columns.Add("ID", typeof(int));

        dt.Columns.Add("Name", typeof(string));

        dt.Columns.Add("PhoneNumber", typeof(string));

        dt.Columns.Add("Address", typeof(string));

        DataRow row = dt.NewRow();

        row["ID"] = 1;

        row["Name"] = "张三";

        row["PhoneNumber"] = "239456";

        row["Address"] = "北京";

        dt.Rows.Add(row);

        row = dt.NewRow();

        row["ID"] = 2;

        row["Name"] = "李四";

        row["PhoneNumber"] = "982089*5";

        row["Address"] = "广东";

        dt.Rows.Add(row);

        //dataGrid1.DataContext = dt;

        dataGrid1.ItemsSource = dt.DefaultView;

        //设置网格线

        dataGrid1.GridLinesVisibility = DataGridGridLinesVisibility.All;

    }

Die Wirkung ist wie folgt:
Bildbeschreibung hier einfügen

Guess you like

Origin blog.csdn.net/weixin_41883890/article/details/128951145