2010-05-18 3 views
1

Je rencontre un problème de style de la base de données WPF, j'ai créé les en-têtes de colonne (de type ColumnHeader).Styling WPF Toolkit En-têtes de colonne DataGrid

Mais lorsque les données dans les colonnes ne remplissent pas toute la largeur de la grille, une colonne supplémentaire est ajoutée pour remplir la grille. Cette colonne ignore le style ColumnHeader et semble hors de propos probablement parce que l'élément a un type différent, j'ai regardé à travers la bibliothèque dans le navigateur d'objet mais je ne peux pas trouver cet élément. J'ai également considéré la fixation des tailles de sorte que cette colonne est inutile, mais ce n'est pas une option viable. Le problème est démontré dans l'article suivant: http://blogs.msdn.com/jaimer/archive/2009/01/20/styling-microsoft-s-wpf-datagrid.aspx L'élément que je veux dire est en haut à droite, juste à droite de la colonne verte 3 et juste au-dessus de la cellule avec la flèche de fond de rangée.

Répondre

0

Définissez le Width de la dernière colonne sur * pour que la colonne remplisse le reste de l'espace disponible. Vos styles s'appliqueront encore, et vous ne serez pas laissé avec cette colonne de remplissage

<toolkit:DataGrid> 
     <toolkit:DataGrid.Resources> 
      <Style TargetType="{x:Type toolkit:DataGridColumnHeader}" > 
       <Setter Property="Foreground" Value="Red" /> 
      </Style> 
     </toolkit:DataGrid.Resources> 

     <toolkit:DataGrid.Columns> 
      <toolkit:DataGridTextColumn Header="1" /> 
      <toolkit:DataGridTextColumn Header="2" Width="*" /> 
     </toolkit:DataGrid.Columns> 
    </toolkit:DataGrid> 

Sample http://i44.tinypic.com/2ypel4w.png

+0

Merci pour la réponse, J'ai peur que cela ne m'aide pas dans cette situation particulière. La vue que la grille se trouve à l'intérieur n'a pas une largeur définie, et la grille peut contenir beaucoup de données. – ChrisFletcher

0

Cela semble avoir été corrigé dans la dernière version de la grille

Questions connexes