动态定义Datagrid的列方法很多,可以参考以下代码:
首先定义Datagrid:
[code=C#]
DataGrid targetDataGrid = new DataGrid();
targetDataGrid.ItemsSource = source;
targetDataGrid.AutoGenerateColumns = false;
LayoutRoot.Children.Add(targetDataGrid);
[/code]
然后定义DataGrid的文本列
静态方法:
[code=XML]
<data:DataGrid x:Name="targetDataGrid">
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="First Name"
Binding="{Binding FirstName}" />
</data:DataGrid.Columns>
</data:DataGrid>
[/code]
动态方法:
[code=XML]
using System.Windows.Data;
...
DataGridTextColumn textColumn = new DataGridTextColumn();
textColumn.Header = "First Name";
textColumn.Binding = new Binding("FirstName");
targetDataGrid.Columns.Add(textColumn);
[/code]
转自:http://silverlightchina.net/html/tips/2012/0725/17646.html