私は DataGrid (WPF 4.0) コントロールを使用しています。そのスタイルは ResourceDictionary に配置され、ネストされた Style 要素が含まれています。
<Style x:Key="MyDataGridStyle" TargetType="{x:Type controls:DataGrid}">
<Setter Property="Background" Value="Black"/>
<Setter Property="CellStyle">
<Setter.Value>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
</Style>
</Setter.Value>
</Setter>
</Style>
ここでは、背景スタイルのみが適用されます。CellStyle はありません。
DataGrid
要素内で CellStyle を直接定義した場合にのみ機能します。
<DataGrid Style="{StaticResource MyDataGridStyle}">
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
</Style>
</DataGrid.CellStyle>
</DataGrid>
理由はありますか?
アップデート
ResourceDictionary で参照した PresentationFramework.Aero テーマとスタイルを混在させると問題が発生するようです。参照を削除すると機能します。