6
votes

En-tête Silverlight DataGrid Alignement horizontal

Je veux changer l'alignement d'un en-tête sur un datagramme à Silverlight et je ne peux pas sembler comprendre comment le faire. Voici ce que j'ai jusqu'à présent:

  <data:DataGridTextColumn Header="#" 
                            IsReadOnly="True"
                            ElementStyle="{StaticResource CenterAlignStyle}" 
                            Binding="{Binding OutlineNumber, Mode=OneWay}" >
    <data:DataGridTextColumn.HeaderStyle>
      <Style TargetType="prim:DataGridColumnHeader">
        <Setter Property="HorizontalAlignment" Value="Center"/>
      </Style>
    </data:DataGridTextColumn.HeaderStyle>
  </data:DataGridTextColumn>


1 commentaires

J'ai le même problème. Toute chance avec ça encore?


3 Réponses :


9
votes

Vous étiez vraiment proche, c'est: -

<Setter Property="HorizontalContentAlignment" Value="Center"/>


1 commentaires

En fait, cela fonctionne! Je ne l'ai pas réalisé parce que je ne redimensionnais pas la colonne pour voir que le texte reste aligné vers la droite sur l'en-tête. Merci beaucoup!



2
votes

Peut-être ajouter un rembourrage pour le rendre meilleur ...

    <Style x:Key="HeaderCenter"
           TargetType="dataPrimitives:DataGridColumnHeader">
        <Setter Property="HorizontalContentAlignment"
                Value="Center" />
        <Setter Property="HorizontalAlignment"
                Value="Stretch" />
        <Setter Property="Padding"
                Value="12,2,2,2" />
    </Style>


0 commentaires

0
votes

Il semble que cette approche Sorte fonctionne, mais vous obtenez l'en-tête par défaut, à droite aligné. J'ai un style de ressource statique pour le DataGridColumnheader et I seulement strong> veulent changer l'alignement laissant tous les autres éléments de style contenus dans le style personnalisé. Jusqu'à présent, j'ai:

xmlns: sdk = "Espace CLR-NAMES: System.Windows.Controls; Assembly = System.Windows.controls.data"
xmlns: prim = "CLR-NAMESPACE: SYSTEM.WINDOWS.CONTROLS.PRIMITURES; ASSEMBLY = SYSTEM.WINDOWS.CONTROLS.DATA" CODE> P>

et P>

<sdk:DataGrid  x:Name="ServicesDataGrid" Width="Auto" Margin="15,5,5,5" ColumnHeaderStyle="{StaticResource DataGridColHeaderStyle}" ......


0 commentaires