2016-09-07 226 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