Группировка в DataGrid

WPF
  1. год назад

    Доброго дня.
    Хочу сделать группировку данных в представлении по определенному свойству, в данном случае по свойству ДеньНедели.
    Группировка по свойству получается, но вот в заголовке Expander не выводится значение свойства ДеньНедели. Выводится только количество записей в группе. Не могу понять, почему...
    Вот разметка:

    <UserControl >
    
        <UserControl.Resources>
            <CollectionViewSource x:Key="PlanEntries" Source="{Binding PlansCollection}">
                <CollectionViewSource.GroupDescriptions>
                    <PropertyGroupDescription PropertyName="ДеньНедели" />
                </CollectionViewSource.GroupDescriptions>
            </CollectionViewSource>
        </UserControl.Resources>
    
        <Grid>
           
                 <DataGrid ItemsSource="{Binding Source={StaticResource PlanEntries}}"
                          SelectedItem="{Binding SelectedItem}"
                          AutoGenerateColumns="False"
                          IsReadOnly="True"
                          HorizontalAlignment="Stretch"
                          VerticalAlignment="Stretch"
                          HorizontalScrollBarVisibility="Hidden"
                          VerticalScrollBarVisibility="Auto" FontFamily="Bookman Old Style">
                    <DataGrid.GroupStyle>
                        <GroupStyle>
                            <GroupStyle.HeaderTemplate>
                                <DataTemplate>
                                    <StackPanel>
                                        <TextBlock Text="{Binding Path=ДеньНедели}"/>
                                    </StackPanel>
                                </DataTemplate>
                            </GroupStyle.HeaderTemplate>
                            <GroupStyle.ContainerStyle>
                                <Style TargetType="{x:Type GroupItem}">
                                    <Setter Property="Template">
                                        <Setter.Value>
                                            <ControlTemplate TargetType="{x:Type GroupItem}">
                                                <Expander IsExpanded="True">
                                                    <Expander.Header>
                                                        <StackPanel Orientation="Horizontal">
                                                            <TextBlock Text="{Binding Path=ДеньНедели}"
                                                                       Margin="10,0,5,0"/>
                                                            <TextBlock>(</TextBlock>
                                                            <TextBlock Text="{Binding Path=ItemCount}"
                                                                       Margin="0,0,5,0"/>
                                                            <TextBlock Text="запись/записи/записей"/>
                                                            <TextBlock>)</TextBlock>
                                                        </StackPanel>
                                                    </Expander.Header>
                                                    <Grid HorizontalAlignment="Stretch">
                                                        <ItemsPresenter HorizontalAlignment="Stretch" />
                                                    </Grid>
                                                </Expander>
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </GroupStyle.ContainerStyle>
                        </GroupStyle>
                    </DataGrid.GroupStyle>
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="Вид бега"
                                        MinWidth="200"
                                        Binding="{Binding НазваниеВидаБега}"
                                        CanUserSort="False"/>
                        <DataGridTextColumn Header="Упражнение"
                                        MinWidth="200"
                                        Binding="{Binding НазваниеУпражнения}"
                                        CanUserSort="False"/>
                        <DataGridTextColumn Header="Повторы"
                                        MinWidth="100"
                                        Binding="{Binding КоличествоПовторений}"
                                        CanUserSort="False"/>
                        <DataGridTextColumn Header="Дистанция"
                                        MinWidth="100"
                                        Binding="{Binding ДистанцияПлан}"
                                        CanUserSort="False"/>
                    </DataGrid.Columns>
                </DataGrid>
           </Grid>
    </UserControl>
  2. 11 месяцев(а)

    Проблемка решилась легко...
    В привязке <TextBlock Text="{Binding Path=ДеньНедели}" вместо ДеньНедели указал Name и всё заработало...

или зарегистрируйтесь чтобы ответить