我有DataGrid:
<DataGrid name:"DG" ItemSource="{Binding}"/>
以这种方式填写:
DG.ItemsSource = DataSet.Tables[0].DefaultView;
我需要更改列标题。我用这种方式:
<DataGrid name:"DG" ItemSource="{Binding}" Loaded="FormatColumns"/>
DG.Columns[i].Header = "Name";
在我的电脑上运行良好,但是当我在使用Windows XP的PC上启动此软件时,我意识到DG
有0列Loaded
。
以下是许多代码:
DG.Columns[i].Header = "Name";
最好在另一个事件之后使用它。那么在这里我可以处理并手动设置所有标题的任何事件吗?
答案 0 :(得分:1)
刚刚意识到。如果我在Windows XP上启动此程序时,DataSet
为空DataGrid
则不填充空列。这里只是完全空DataGrid
。
所以,这是一个肮脏的解决方案:
if (DataGrid.Columns.Count == 0) return;