не может найти имя DataGridColumn программно

Я нашел коллекцию Columns в моей сетке данных и надеялся перебрать ее, чтобы найти имя определенного столбца. Однако я не могу понять, как обратиться к атрибуту 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, Я подтвердил, что свойство Name отсутствует ни в DataGridTextColumn, ни в DataGridTemplateColumn.

Что мне не хватает?

5
задан Binil 4 January 2011 в 07:20
поделиться