I haven't really played with GridView
, but this approach seems logical for me to try (just in case you haven't). Simply combine XAML from point 3 with point 2 :
<GridViewColumn Width="85" >
<GridViewColumn.CellTemplate>
<DataTemplate DataType="models:PersonClass">
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding Path="FirstName" />
<Binding Path="LastName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
<GridViewColumnHeader>
<TextBlock Text="Many words column header"
TextWrapping="Wrap" />
</GridViewColumnHeader>
</GridViewColumn>
There you have a column with "column header name composed of many word and the content of line multibinded to many properties".