无法以编程方式找到DataGridColumn的名称
我在我的数据网格中找到了Columns集合,并希望迭代它以找到某个列Name。但是,我无法弄清楚如何处理列的x:Name属性。这个xaml说明了我的DataGridTextColumn和DataGridTemplateColumn的问题:
<t:DataGrid x:Name="dgEmployees" ItemsSource="{Binding Employees}"
AutoGenerateColumns="false" Height="300" >
<t:DataGrid.Columns>
<t:DataGridTextColumn x:Name="FirstName" Header="FirstName"
Binding="{Binding FirstName}" />
<t:DataGridTemplateColumn x:Name="LastName" Header="LastName" >
<t:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding LastName}" />
</DataTemplate>
</t:DataGridTemplateColumn.CellTemplate>
</t:DataGridTemplateColumn>
</t:DataGrid.Columns>
</t:DataGrid>
这是我的代码:
DataGrid dg = this.dgEmployees;
foreach (var column in dg.Columns)
{
System.Console.WriteLine("name: " + (string)column.GetValue(NameProperty));
}
在运行时,不存在任何值; column.GetValue不返回任何内容。使用Snoop,我确认DataGridTextColumn或DataGridTemplateColumn上没有Name属性。
我错过了什么?
没有找到相关结果
已邀请:
2 个回复
窃誓额
然后,您可以为每个列指定一个名称......
然后在代码中访问此名称,如下所示:
希望有所帮助
春驹晴陪
其中dgvReports是datagrid的名称。