Wie kann ich die Gruppierung in einer WPF Data Grid mit mehreren Ebenen?
Ich bin relativ neu in WPF, so verstehe ich über Stile und setter, aber ich habe Probleme auf diesen einen.
Bin ich mit einem WPF Data Grid und brauchen, um mehrere Ebenen zu gruppieren. Ich möchte die 2. und 3. Gruppe Ebene mehr eingerückt als die oberste Ebene.
Dem folgenden code wird die show-Gruppe-Ebenen, aber es zeigt Ihnen direkt auf der Oberseite des anderen und macht die Tatsache, dass Sie verschachtelte Ebenen des Konzerns unmöglich zu sagen.
<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 Path=Name}"/>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Wie bekomme ich die Kopfzeile der Gruppe der Einzug ist auf Basis-Ebene?
- Verwenden Sie eine ICollectionView zu tun, die Gruppierung?
- Ja, ich bin mit der ICollectionView-durchführen der Gruppierung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Falls jemand aus der Zukunft kommt über diese. Ich war in der Lage, geschachtelte Gruppen und Stil, so dass Sie nicht gestapelt auf der jeweils anderen, indem Sie Folgendes tun.
Eigenschaft hinzufügen, um die CollectionViewSource:
Dann in der XAML DataGrid müssen Sie angeben, 2 GroupStyles, und der zweite wird verwendet für die verschachtelte Gruppe. Ich fügte hinzu, die Margen zu StackPanel der zweiten Gruppe zu verschieben Sie den text nach rechts, um es scheinen, wie es war, in der entsprechenden Spalte.
War ich in der Lage zu finden, mehr dazu hier:
https://msdn.microsoft.com/en-us/library/ff407126%28v=vs.110%29.aspx
Ich hatte das gleiche problem und fand eine unvollkommene Abhilfe. Wenn Sie fügen Sie einen Rand auf der linken Seite Ihres ItemsPresenter, jeder Ebene eingerückt wird, wie man es erwarten würde. Leider die Spaltenüberschriften nicht mehr in übereinstimmung mit der content-Spalten. Ich bin noch auf der Suche nach einer Lösung für die...
Soweit ich weiß (oder das Letzte mal habe ich geprüft), die WPF-Datagrid nicht unterstützt die hierarchische Gruppierung.
Der nächste, den ich finden konnte, war diese.
Dies ist der Grund, warum wir gingen mit den Xceed DataGrid in unserer app. Leider ist es nicht kostenlos, so dass möglicherweise nicht geeignet für Sie.
Ich schon nutzen ICollectionView-und PropertyGroupDescription um eine Gruppierung, Sie müssen jedoch noch mit XAML beschreiben, wie die Gruppierung angezeigt wird, ansonsten erhalten Sie keine UI-Anzeige der Gruppierung.
Ich bin daran interessiert, wie, um das setup der XAML-also kann ich die Darstellung der verschiedenen Ebenen der Gruppierung, vorzugsweise mit einer Art der Einrückung pro Gruppe-Ebene oder so ähnlich....
Diesem tutorial geht in die richtige Richtung: Multi-Gruppierung im DataGrid
Aber leider ist 'PagedCollectionView' ist Silverlight.