ne peut pas trouver le Nom de DataGridColumn par programmation

J'ai trouvé les Colonnes de la collection dans mon datagrid, et a été l'espoir d'itérer à travers elle à trouver un certain Nom de la colonne. Cependant, je ne peux pas comprendre comment l'adresse de x:Nom de l'attribut de la colonne. Ce xaml illustre mon problème avec un DataGridTextColumn et un 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>

Et voici mon code:

    DataGrid dg = this.dgEmployees;
    foreach (var column in dg.Columns) 
    {
        System.Console.WriteLine("name: " + (string)column.GetValue(NameProperty));
    }

Au moment de l'exécution, aucune valeur n'est présente; la colonne.GetValue ne retourne rien. À l'aide de Snoop, j'ai confirmé qu'il n'y a pas de Nom bien sur DataGridTextColumn ou DataGridTemplateColumn.

Ce qui me manque?

OriginalL'auteur Daniel R | 2011-01-03