Silverlight 4.0 Silverlight 4.0:如何在代码隐藏中获取DatagridTemplateColumn标头

Silverlight 4.0 Silverlight 4.0:如何在代码隐藏中获取DatagridTemplateColumn标头,silverlight-4.0,datagrid,header,datagridtemplatecolumn,Silverlight 4.0,Datagrid,Header,Datagridtemplatecolumn,在XAML中有一个datagridtemplate列 <sdk:DataGridTemplateColumn x:Name="Urgency"> <sdk:DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Ve

在XAML中有一个datagridtemplate列

<sdk:DataGridTemplateColumn x:Name="Urgency">
                <sdk:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
                            <Image Source="{Binding UrgencyUri}" 
                            VerticalAlignment="Stretch"
                            Stretch="UniformToFill"
                            Height="10" Width="10" Margin="0,0,5,0"/>
                            <TextBlock Text="{Binding Urgency}"/>
                        </StackPanel>
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellTemplate>
                <sdk:DataGridTemplateColumn.HeaderStyle>
                    <Style TargetType="primitive:DataGridColumnHeader">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                        <Setter Property="ContentTemplate">
                            <Setter.Value>
                                <DataTemplate>
                                    <Grid HorizontalAlignment="Stretch">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="*" />
                                            <ColumnDefinition Width="Auto" />
                                        </Grid.ColumnDefinitions>
                                        <TextBlock Text="{Binding Path=Urgency, Source={StaticResource MHVWindowResources}}" Grid.Column="0" HorizontalAlignment="Left" />
                                        <filter:DataGridColumnFilter Grid.Column="1" HorizontalAlignment="Right" />
                                    </Grid>
                                </DataTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </sdk:DataGridTemplateColumn.HeaderStyle>
            </sdk:DataGridTemplateColumn>
他们有什么我错过的吗?谢谢 我想知道如何在代码隐藏中获取列标题。

添加此行:

 var header = templateColumn.Header
在此处放置断点调试并检查“快速观察”中的类型

我敢打赌,标题可能永远不会是字符串,因此当您使用:

string header = templateColumn.Header as string;

希望这能有所帮助

我想这是因为您的文本块是在HeaderStyle级别定义的,而不是在Header级别定义的。
string header = templateColumn.Header as string;