使用MVVM从Datatable显示WPF DataGrid中的动态列
本文关键字:动态 DataGrid WPF MVVM Datatable 显示 使用 | 更新日期: 2023-09-27 18:07:03
我正在使用MVVM模式开发一个WPF应用程序。我想从Datatable中显示DataGrid的动态列。
我添加了代码来显示它,但它不工作。Datatable被数据填充,但在datagrid中,数据不显示。
XAML: <DataGrid Grid.Row="1" AutoGenerateColumns="False" GridLinesVisibility="All" Foreground="Black" ItemsSource="{Binding ItemSource, Mode=OneWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True" />
ViewModel:
private DataView _itemSource;
public DataView ItemSource
{
get { return _itemSource; }
set
{
_itemSource = value;
OnPropertyChanged("ItemSource");
}
}
public async Task PopulateData(string queryText)
{
var dt = await CustomReportQueryDAO.GetCustomReportQueryResult("select * from [Person]");
ItemSource = dt.DefaultView;
}
您在DataGrid
上设置了AutoGenerateColumns="False"
,但是您没有定义任何列。
尝试更改为AutoGenerateColumns="True"