Пользовательский заголовок столбца Datagrid - PullRequest
2 голосов
/ 19 декабря 2011

Я пытаюсь создать сетку данных с пользовательскими заголовками столбцов с изображениями.Проблема в том, что привязка не работает должным образом.

<Window.Resources>
    <DataTemplate x:Key="header">
        <Image Source="{Binding ColumnHeader}"/>
    </DataTemplate>

    <DataGridRowHeader x:Key="Row"/>
    <DataTemplate x:Key="RowHeaderTemplate">
        <Grid>
            <TextBlock TextWrapping="Wrap" Text="Text"/>
        </Grid>
    </DataTemplate>
    <Style x:Key="ColumnHeaderGripperStyle" TargetType="{x:Type Thumb}">
        <Setter Property="Width" Value="8"/>
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="Cursor" Value="SizeWE"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Thumb}">
                    <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <Style x:Key="DataGridColumnHeaderStyle1" TargetType="{x:Type DataGridColumnHeader}">
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
                    <Grid>
                        <Microsoft_Windows_Themes:DataGridHeaderBorder BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" IsClickable="{TemplateBinding CanUserSort}" IsPressed="{TemplateBinding IsPressed}" IsHovered="{TemplateBinding IsMouseOver}" Padding="{TemplateBinding Padding}" SortDirection="{TemplateBinding SortDirection}" SeparatorBrush="{TemplateBinding SeparatorBrush}" SeparatorVisibility="{TemplateBinding SeparatorVisibility}" ThemeColor="NormalColor">
                            <TextBlock Text="{Binding Path=ColumnHeader}"/>
                        </Microsoft_Windows_Themes:DataGridHeaderBorder>
                        <Thumb x:Name="PART_LeftHeaderGripper" HorizontalAlignment="Left" Style="{StaticResource ColumnHeaderGripperStyle}"/>
                        <Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    </Window.Resources>
<Grid x:Name="LayoutRoot">
    <DataGrid x:Name="dataGrid" ItemsSource="{Binding}" RowHeaderTemplate="{DynamicResource RowHeaderTemplate}" ColumnHeaderStyle="{DynamicResource DataGridColumnHeaderStyle1}"/>
</Grid>

В целях тестирования я заменил элемент управления изображением на простой текстовый блок.1006 *

Кто-нибудь может мне помочь?

Спасибо.

...