2010-09-06 17 views
7

Herkesin bir WPF veri kılavuzundaki metni ortalanarak hizalanmasının kolay bir yolu olup olmadığını merak ediyordum. Veri ızgarasının gayet iyi çalışmasını sağladım, ancak doğru metin hizalaması beni rahatsız etti. Bazıları göz attım ve wpftoolkit'i indirdim, ancak örnekler ya çalışmıyor ya da bana bir derleme hatası veriyor. Wpftoolkit'e başvurumu projeme ekledim. Herhangi bir yardım takdir edilecektir.Datagrid metin hizalaması

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

cevap

17

aşağıdaki gibi veri şebekesi için xaml, bu DataGridTextColumns kullanılan TextBlocks ve metin kutularının tarafından devralınacak ve ortalar DataGridTableStyles üzerinde ortala Block.TextAlignment özelliğini ayarlarsanız olduğunu size

ederiz metin: Bir hücre ancak başlıklarında veya başka bir yerde kılavuz içinde metni hizalamak istiyorsanız

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

, sen CellStyle kullanarak DataGridCell mülk ayarlayabilirsiniz:

<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

Harika! Sonunda çalıştı! Çok teşekkür ederim. –

+0

bu bana yardımcı oldu! Control.HorizontalAlignment x_x –

+4

kullanıyordum Daha ince taneli elde etmek istiyorsanız, tek tek sütunlarda ElementStyle özelliğini de ayarlayabilirsiniz. Bu durumda, muhtemelen BasedOn = "{x: Statik DataGridTextColumn.DefaultElementStyle}" kullanmak istersiniz. – Cheetah