我试过一种内联风格,效果很好。
<DataGrid AutoGenerateColumns="False" AlternatingRowBackground="{x:Null}" DataContext="{StaticResource UserGroups}" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" HeaderTemplate="{StaticResource headerTemplate}" Binding="{Binding Path=Name}"
<DataGridTextColumn.HeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Bottom"/>
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>但我喜欢在资源中的风格,所以我尝试了这个不起作用。
<UserControl.Resources>
<DataTemplate x:Key="headerTemplate">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Bottom" Text="{Binding}"/>
</DataTemplate>
<Style x:Key="dgColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Bottom"/>
</Style>
</UserControl.Resources>
<DataGrid AutoGenerateColumns="False" AlternatingRowBackground="{x:Null}" DataContext="{StaticResource UserGroups}" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" HeaderStyle="dgColumnHeaderStyle" HeaderTemplate="{StaticResource headerTemplate}" Binding="{Binding Path=Name}"/>
</DataGrid.Columns>
</DataGrid>可能是一些简单的东西,但我才刚刚开始使用这个控件。如何修复第二个示例中的样式,使其正常工作?
发布于 2013-06-01 08:43:19
要访问资源,您必须使用StaticResource或DynamicResource关键字
更改:
HeaderStyle="dgColumnHeaderStyle"至:
HeaderStyle="{StaticResource dgColumnHeaderStyle}"https://stackoverflow.com/questions/16867248
复制相似问题