First of all you should define your namespace in an element that contains your datagrid, and not in the datagrid itself. I always declare namespaces in the Window/UserControl declaration. Then you should be able to see DataGridColumnHeader as a Type in your style declaration. Then in you Columns declarations you need to explicitly set the style to the correct resource by using the StaticResource declaration like this:-
<DataGridTextColumn Header="Enabled" Width="120" Binding="{Binding Path=Name}" HeaderStyle="{StaticResource ColumnHeaderStyle}"/>
.
Styling the Rows is the same thing. Declare the style in your resources with a Key, and specifically set the row style to that style in your datagrid declaration like this:-
<Style x:Key="RowStyle" TargetType="{x:Type DataGridRow}">
</Style>
<...ClipboardCopyMode="None" MinRowHeight="28"
RowDetailsVisibilityMode="Visible" RowHeight="28"
DataContextChanged="serverGrid_DataContextChanged" RowStyle="{StaticResource RowStyle}"
Hope this helps