2010-09-06 16 views
7

Me preguntaba si alguien tenía una manera fácil de alinear el centro de una cuadrícula de datos de WPF. Logré que la cuadrícula de datos funcionara bien, pero la alineación de texto correcta me molestó. Eché un vistazo a algunos y descargué el wpftoolkit, pero los ejemplos no funcionan o me dan un error de compilación. Agregué la referencia al wpftoolkit a mi proyecto. Cualquier ayuda sería apreciada. GraciasAlineación de texto de cuadrícula de datos

el XAML para la red de datos es el siguiente

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

Respuesta

17

Si se establece la propiedad Block.TextAlignment al centro de la cuadrícula de datos, que será heredado por los TextBlocks y cuadros de texto utilizados en DataGridTextColumns y centrará el texto:

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

Si desea alinear el texto en las células, pero no en los encabezados o de cualquier otro lugar en la cuadrícula, puede establecer la propiedad en el DataGridCell usando 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

¡Genial! ¡Eso finalmente funcionó! Muchas gracias. –

+0

esto me ayudó gracias! Estaba usando Control.HorizontalAlignment x_x –

+4

Si desea obtener un grano más fino, también puede establecer la propiedad ElementStyle en columnas individuales. Probablemente desee utilizar BasedOn = "{x: Static DataGridTextColumn.DefaultElementStyle}" en ese caso. – Cheetah

Cuestiones relacionadas