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?