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>
3 Réponses :
Vous étiez vraiment proche, c'est: -
<Setter Property="HorizontalContentAlignment" Value="Center"/>
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!
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>
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 et P> 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> <sdk:DataGrid x:Name="ServicesDataGrid" Width="Auto" Margin="15,5,5,5" ColumnHeaderStyle="{StaticResource DataGridColHeaderStyle}" ......
J'ai le même problème. Toute chance avec ça encore?