使用 MahApps Metro 将样式应用于 DataGridTextColumn
Apply Styles to DataGridTextColumn with MahApps Metro
我刚刚尝试在我的 WPF 应用程序中使用以下 XAML。
<DataGridTextColumn Header="Due" Binding="{Binding QTYDue, Mode=OneWay}">
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="FrameworkElement.HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
不幸的是,该行为是删除了 MahApps Metro 中控件的先前样式。如何保持现有的风格,只是修改它的这一方面。
试试这个:
风格:
<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}" />
或
<DataGridTemplateColumn Header="DUE">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGridCell Style="{StaticResource DatagridCellStyle1}">
<TextBlock Text="{Binding QTYDue}"></TextBlock>
</DataGridCell>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我刚刚尝试在我的 WPF 应用程序中使用以下 XAML。
<DataGridTextColumn Header="Due" Binding="{Binding QTYDue, Mode=OneWay}">
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="FrameworkElement.HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
不幸的是,该行为是删除了 MahApps Metro 中控件的先前样式。如何保持现有的风格,只是修改它的这一方面。
试试这个:
风格:
<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}" />
或
<DataGridTemplateColumn Header="DUE">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGridCell Style="{StaticResource DatagridCellStyle1}">
<TextBlock Text="{Binding QTYDue}"></TextBlock>
</DataGridCell>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>