2014-03-04 40 views
0

我对你所有友好的XAML专家提出了一个简单的问题。我有一个包含一些行标题的数据网格,默认的水平对齐是居中。我想要的只是将此对齐方式更改为左侧。我已经尝试了下面的代码,但该剂量似乎工作。是否因为内容由文本块组成?如果是这样,我该如何改变它的路线?我试图改变标题的背景,它似乎工作得很好。数据网格行标题内容的水平对齐

风格:

<Style x:Key="DataGridRowHeaderStyle" TargetType="sdk:DataGridRowHeader">   
    <Setter Property="HorizontalContentAlignment" Value="Left"/> 
</Style> 

控制:

<sdk:DataGrid x:Name="CheeseWeightsColumnStatsDataGrid"       
       ItemsSource="{Binding CheeseWeightColumnStats}" IsReadOnly="True"    
       AutoGenerateColumns="False" 
       HeadersVisibility="Row" 
       LoadingRow="CheeseWeightsColumnStatsDataGrid_OnLoadingRow" 
       RowHeaderStyle="{StaticResource DataGridRowHeaderStyle}"> 
</sdk:DataGrid> 
+0

我会想到,标题内的所有内容都将与您使用的代码保持一致。但是,也许你必须设置实际文本块的Horizo​​ntrolAlignment,如果这是在代码中创建的:'textBlock.TextAlignment = TextAlignment.Left;' – DNKROZ

回答

0

我想创建一个模板的行头,并将其绑定到所显示的行中的类的属性:

<sdk:DataGrid.RowHeaderTemplate> 
    <DataTemplate> 
     <TextBlock Text="{Binding HeaderText}" HorizontalAlignment="Left"/> 
    </DataTemplate> 
    </sdk:DataGrid.RowHeaderTemplate> 
+1

非常感谢您的回复。出于某种原因,可能是因为它是Silverlight应用程序,没有名为RowHeaderTemplate的属性。我错过了什么吗? – Steean