wpf

wpf中datagrid动态绑定数据怎么实现

小亿
441
2023-12-16 12:31:41
栏目: 编程语言

在WPF中,可以通过以下步骤实现动态绑定数据到DataGrid:

  1. 创建一个ObservableCollection集合,用于存储要绑定到DataGrid的数据。该集合继承自INotifyPropertyChanged接口,以便在数据发生变化时通知DataGrid更新。

  2. 在XAML文件中,使用DataGrid标签创建一个DataGrid控件,并设置AutoGenerateColumns属性为False。这样可以手动定义列的样式和绑定路径。

  3. 在.cs文件中,将ObservableCollection集合作为DataGrid的ItemsSource属性的值进行绑定。同时,使用DataGridTextColumn标签设置每一列的样式和绑定路径。

下面是一个示例代码:

在.xaml文件中:

<DataGrid x:Name="myDataGrid" AutoGenerateColumns="False" ItemsSource="{Binding MyDataCollection}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Binding="{Binding Name}" />
        <DataGridTextColumn Header="Age" Binding="{Binding Age}" />
    </DataGrid.Columns>
</DataGrid>

在.cs文件中:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public partial class MainWindow : Window
{
    public ObservableCollection<Person> MyDataCollection { get; set; }

    public MainWindow()
    {
        InitializeComponent();
        MyDataCollection = new ObservableCollection<Person>
        {
            new Person { Name = "John", Age = 25 },
            new Person { Name = "Alice", Age = 30 },
            new Person { Name = "Bob", Age = 40 }
        };
        DataContext = this;
    }
}

在这个示例中,MyDataCollection是一个ObservableCollection集合,存储了Person对象的数据。在构造函数中,我们创建了一些Person对象,并将它们添加到MyDataCollection集合中。然后,将MainWindow实例作为DataContext,将MyDataCollection集合绑定到DataGrid的ItemsSource属性上。最后,使用DataGridTextColumn标签,设置了Name和Age列的样式和绑定路径。

当MyDataCollection集合中的数据发生改变时,DataGrid会自动更新显示的数据。

0
看了该问题的人还看了