DataGrid 在加载事件时为空

DataGrid is empty on loaded event

我有数据网格:

<DataGrid name:"DG" ItemSource="{Binding}"/>

并这样填写:

DG.ItemsSource = DataSet.Tables[0].DefaultView;

我需要更改列 headers。我是这样用的:

<DataGrid name:"DG" ItemSource="{Binding}" Loaded="FormatColumns"/>

DG.Columns[i].Header = "Name";

在我的 PC 上运行良好,但是当我在 Windows XP 的 PC 上启动此软件时,我意识到 DG 有 0 列,因为它 Loaded.

这里有很多代码,例如:

DG.Columns[i].Header = "Name";

而且最好在其他活动之后使用它。那么这里有任何我可以处理并手动设置的事件吗?headers?

刚刚发现。如果 DataSet 为空,当我在 Windows XP 上启动此程序时,DataGrid 不会填充空列。这里完全是空的 DataGrid.

所以,这是肮脏的解决方案:

if (DataGrid.Columns.Count == 0) return;