溫馨提示×

wpf中datagrid動態(tài)綁定數(shù)據(jù)怎么實現(xiàn)

wpf
小億
386
2023-12-16 12:31:41
欄目: 編程語言

在WPF中,可以通過以下步驟實現(xiàn)動態(tài)綁定數(shù)據(jù)到DataGrid:

  1. 創(chuàng)建一個ObservableCollection集合,用于存儲要綁定到DataGrid的數(shù)據(jù)。該集合繼承自INotifyPropertyChanged接口,以便在數(shù)據(jù)發(fā)生變化時通知DataGrid更新。

  2. 在XAML文件中,使用DataGrid標(biāo)簽創(chuàng)建一個DataGrid控件,并設(shè)置AutoGenerateColumns屬性為False。這樣可以手動定義列的樣式和綁定路徑。

  3. 在.cs文件中,將ObservableCollection集合作為DataGrid的ItemsSource屬性的值進(jìn)行綁定。同時,使用DataGridTextColumn標(biāo)簽設(shè)置每一列的樣式和綁定路徑。

下面是一個示例代碼:

在.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對象的數(shù)據(jù)。在構(gòu)造函數(shù)中,我們創(chuàng)建了一些Person對象,并將它們添加到MyDataCollection集合中。然后,將MainWindow實例作為DataContext,將MyDataCollection集合綁定到DataGrid的ItemsSource屬性上。最后,使用DataGridTextColumn標(biāo)簽,設(shè)置了Name和Age列的樣式和綁定路徑。

當(dāng)MyDataCollection集合中的數(shù)據(jù)發(fā)生改變時,DataGrid會自動更新顯示的數(shù)據(jù)。

0