2008-11-24 6 views
2

J'essaie de séparer un gridViewColumn en deux lignes. Im en utilisant le style par défaut pour le listView. Il n'y a pas de problème pour séparer l'en-tête de colonne en deux lignes, mais il semble que le contenu soit placé sur le style original avec la bordure etc. cachée sous mon contenu gridViewHeader personnalisé. Le code ressemble à:WPF: A renversé l'en-tête GridView en deux lignes où la ligne du bas est séparée en deux colonnes

<GridViewColumnHeader> 
    <GridViewColumnHeader.Template> 
     <ControlTemplate> 
      <Grid VerticalAlignment="Center" HorizontalAlignment="Center"> 
       <Grid ShowGridLines="False" VerticalAlignment="Center" HorizontalAlignment="Center"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="*"/> 
         <RowDefinition Height="*"/> 
        </Grid.RowDefinitions> 
        <TextBlock Grid.Row="0" Text="SomeHeaderText" HorizontalAlignment="Center"/> 
        <Grid Grid.Row="1"> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="*"/> 
          <ColumnDefinition Width="*"/> 
          </Grid.ColumnDefinitions> 
          <TextBlock Grid.Column="0" Text="SubHeaderText1" Padding="5" HorizontalAlignment="Center" /> 
          <TextBlock Grid.Column="1" Text="SubHeaderText1" Padding="5" HorizontalAlignment="Center" />             
         </Grid> 
        </Grid> 
      </Grid> 
     </ControlTemplate> 
    </GridViewColumnHeader.Template> 
</GridViewColumnHeader> 

Tout le monde sait comment cutomized l'GridViewHeader comme cet exemple et garder l'apparence du GridViewHeader

Répondre

1

Vous devez mettre votre modèle personnalisé comme un contenu du GridViewColumnHeader, et non pas comme modèle. Voici le XAML correct:

<GridViewColumnHeader> 
    <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> 
     <Grid HorizontalAlignment="Center" VerticalAlignment="Center" ShowGridLines="False"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <TextBlock Grid.Row="0" HorizontalAlignment="Center" Text="SomeHeaderText"/> 
     <Grid Grid.Row="1"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 
      <TextBlock 
       Grid.Column="0" 
       HorizontalAlignment="Center" 
       Padding="5" 
       Text="SubHeaderText1"/> 
      <TextBlock 
       Grid.Column="1" 
       HorizontalAlignment="Center" 
       Padding="5" 
       Text="SubHeaderText1"/> 
     </Grid> 
     </Grid> 
    </Grid> 
</GridViewColumnHeader> 
Questions connexes