2016-09-07 210 views
1

我刚刚尝试在我的WPF应用程序中使用以下XAML。用MahApps Metro将样式应用于DataGridTextColumn

<DataGridTextColumn Header="Due" Binding="{Binding QTYDue, Mode=OneWay}"> 
    <DataGridTextColumn.CellStyle> 
     <Style> 
      <Setter Property="FrameworkElement.HorizontalAlignment" Value="Center" /> 
     </Style> 
    </DataGridTextColumn.CellStyle> 
</DataGridTextColumn> 

不幸的是,该行为是在MahApps地铁控制之前的造型被删除。我如何保持现有的风格,但只是修改它的这一方面。

WPF Behavior

+0

你试过<形式支持算法FMP = “...”>? – mechanic

+0

是的,但之后我不确定如何让DataGridTextColumn中定义的样式匹配。尝试了一系列引用MahApps.Metro.Controls资源中样式的方法,但还没有弄明白。 –

回答

2

试试这个:

风格:

<Style x:Key="DatagridCellStyle1" 
     TargetType="{x:Type DataGridCell}" 
     BasedOn="{StaticResource {x:Type DataGridCell}}"> 
    <Setter Property="HorizontalAlignment" Value="Center" /> 
</Style> 

XAML:

 <DataGridTextColumn Header="DUE" 
          Binding="{Binding QTYDue}" 
          CellStyle="{StaticResource DatagridCellStyle1}" /> 

OR

  <DataGridTemplateColumn Header="DUE"> 
       <DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <DataGridCell Style="{StaticResource DatagridCellStyle1}"> 
          <TextBlock Text="{Binding QTYDue}"></TextBlock> 
         </DataGridCell> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 

enter image description here