ich gruppiere ein DataGrid und habe das Problem, dass der Expanderheader etwas seltsam dargestellt wird (siehe Anhang).
Mein XAML-Source schaut so aus:
<Grid>
<Grid.Resources>
<CollectionViewSource x:Key="MailList" Source="{Binding Mails}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Sender"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<Style x:Key="GroupHeaderStyle" TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True">
<Expander.Header>
<TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GroupItem}}, Source=Sender}" Foreground="WhiteSmoke"/>
</Expander.Header>
<ItemsPresenter/>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<DataGrid x:Name="dgMails" ItemsSource="{Binding Source={StaticResource MailList}}" AutoGenerateColumns="False">
<DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GroupHeaderStyle}">
<GroupStyle.Panel>
<ItemsPanelTemplate>
<DataGridRowsPresenter />
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</DataGrid.GroupStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Sender" Binding="{Binding Sender}"/>
<DataGridTextColumn Header="Empfänger" Binding="{Binding Receipient}"/>
<DataGridTextColumn Header="Betreff" Binding="{Binding MailSubject}"/>
<DataGridCheckBoxColumn Header="Import" Binding="{Binding ToImport}"/>
<DataGridTextColumn Header="Anlagen" Binding="{Binding HasAttachment}">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
Wenn ich
<TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GroupItem}}, Source=Sender}" Foreground="WhiteSmoke"/>
in
<TextBlock Text="{Binding Sender}" Foreground="WhiteSmoke"/>
ändere, dann bleibt der Header leer weil das Property nicht gefunden wird.
Hat einer von euch eine Idee was ich da noch ändern könnte?