我目前有一堆带有一堆列的数据网格。所有列都具有以下样式
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource MetroDataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Right"/>
</Style>
</DataGridTextColumn.HeaderStyle>
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment" Value="Right"/>
</Style>
</DataGridTextColumn.ElementStyle>
如何在每个DataGridTextColumn中重复此操作,而不是以更简单的方式将其分配给所有列?
答案 0 :(得分:1)
使用DataGridCell和DataGridColumnHeader样式,然后在DataGrid样式上设置该样式。
<Style TargetType="DataGridCell" x:Key="StyledCells">
<!-- Setter Details -->
</Style>
<Style TargetType="DataGridColumnHeader" x:Key="StyledColumnHeader">
<!-- Setter Details -->
</Style>
<Style TargetType="DataGrid">
<Setter Property="ColumnHeaderStyle" Value="{DynamicResource StyledColumnHeader}" />
<Setter Property="CellStyle" Value="{DynamicResource StyledCells}" />
</Style>