1

私は GroupStyle を持つ WPF DataGrid を持っています

<DataGrid.GroupStyle>
                <GroupStyle>

                    <GroupStyle.ContainerStyle>
                        <Style TargetType="{x:Type GroupItem}">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type GroupItem}">
                                        <Expander IsExpanded="True">
                                            <Expander.Header>
                                                <StackPanel>
                                                    <TextBlock Text="{Binding Path=citta}" Margin="5,0,0,0" Width="100" FontWeight="Bold"/>
                                                    <TextBlock Text="{Binding Path=ItemCount}" />
                                                </StackPanel>
                                            </Expander.Header>
                                            <Expander.Content>
                                                <ItemsPresenter />
                                            </Expander.Content>
                                        </Expander>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </GroupStyle.ContainerStyle>
                </GroupStyle>
            </DataGrid.GroupStyle>

コードビハインド:

var qq = (from a in q select new { formareg = a.Get("formareg"), citta = a.Get("citta"), conteggio = a.Get("conteggio"), parametro = a.Get("idcitta").ToString() + "|" + a.Get("formareg") }).OrderBy(x => x.citta).ToList();

                                ListCollectionView cv = new ListCollectionView(qq);
                                cv.GroupDescriptions.Add(new PropertyGroupDescription("citta"));
                                GrigliaDati.ItemsSource = cv;

すべて正常に動作しますが、各グループのヘッダーには、Path=citta ではなく ItemCount のみが表示されます。

どうしたの??

4

1 に答える 1

3

この質問に対する以前の回答と同じです。間違ったフィールドにバインドしているためです。グループ化するフィールドではなく、グループ名にバインドする必要があります。次のように考えてみてください:

<TextBlock Text="{Binding Path=Name}">

各グループは であり、CollectionViewGroupグループ ヘッダーを指定するときに使用できる独自のプロパティがあります。

于 2013-07-10T13:49:31.553 に答える