How to set vertical text in the column headers of WPF DataGrid?

c#, wpf, wpfdatagrid

Solution

This will rotate the whole ColumnHeaderCell:

<DataGrid.ColumnHeaderStyle>
    <Style TargetType="{x:Type DataGridColumnHeader}">
        <Setter Property="LayoutTransform">
            <Setter.Value>
                <RotateTransform Angle="270" />
            </Setter.Value>
        </Setter>
    </Style>
</DataGrid.ColumnHeaderStyle>

Be aware: this means `HorizontalContentAlignment` is then a `VerticalContentAlignment` and vice versa.

Problem

Well, actually rotated -90 degrees from horizontal is what I mean. I need to do this because the text for the header is quite long but the cell value is short, and I want to fit a lot of columns on the screen. Is it possible to do this easily or do I need to learn about resources and templates first? I don't mind a "hack" solution!

Original source