2010-09-06 4 views
7

Mi chiedevo se qualcuno avesse un modo semplice per ottenere il testo in una griglia di dati WPF per essere allineati al centro. Ho ottenuto che la griglia di dati funzionasse perfettamente, ma l'allineamento corretto del testo mi dava fastidio. Ne ho fatto alcuni e ho scaricato wpftoolkit, ma gli esempi non funzionano o mi danno un errore di compilazione. Ho aggiunto il riferimento al wpftoolkit al mio progetto. Qualsiasi aiuto sarebbe apprezzato. Grazieallineamento del testo Datagrid

il codice XAML per la griglia dei dati è la seguente

<WpfToolkit:DataGrid AutoGenerateColumns="True" Margin="15,15,10,65" Name="DG1" CanUserReorderColumns="False" /> 

risposta

17

Se si imposta la proprietà Block.TextAlignment al Centro sulla DataGrid, sarà ereditato dai TextBlocks e caselle di testo utilizzati nelle DataGridTextColumns e centrerà la testo:

<WpfToolkit:DataGrid 
    Block.TextAlignment="Center" 
    AutoGenerateColumns="True" 
    Margin="15,15,10,65" 
    Name="DG1" 
    CanUserReorderColumns="False" /> 

Se si vuole allineare il testo nelle celle, ma non nelle intestazioni o altrove nella griglia, è possibile impostare la proprietà sul DataGridCell utilizzando CellStyle:

<WpfToolkit:DataGrid 
    AutoGenerateColumns="True" 
    Margin="15,15,10,65" 
    Name="DG1" 
    CanUserReorderColumns="False"> 
    <WpfToolkit:DataGrid.CellStyle> 
     <Style TargetType="WpfToolkit:DataGridCell"> 
      <Setter Property="Block.TextAlignment" Value="Center"/> 
     </Style> 
    </WpfToolkit:DataGrid.CellStyle> 
+0

Grande! Finalmente ha funzionato! Grazie mille. –

+0

questo mi ha aiutato grazie! Stavo usando Control.HorizontalAlignment x_x –

+4

Se vuoi ottenere una grana più fine, puoi anche impostare la proprietà ElementStyle su singole colonne. Probabilmente vuoi usare BasedOn = "{x: Static DataGridTextColumn.DefaultElementStyle}" in questo caso. – Cheetah