Frage

Gibt es eine Möglichkeit, die Spaltenüberschriften innerhalb jeder Gruppe eines ListView.GridView zu wiederholen, wenn eine gruppierte Collection als Quelle des Listview mit?

Ich bin mit dem Beispiel unter http://msdn.microsoft.com /en-us/library/ms754027.aspx die verwendet einen Expander Steuerung jeder Gruppe anzuzeigen.

Ich mag die Spaltenüberschriften in dem Expander für jede Gruppe erscheinen, anstatt an der Spitze des Listview.

War es hilfreich?

Lösung

Ich habe nicht versucht, aber Sie können in der Lage sein GridViewHeaderRowPresenters in Ihrem Gruppenköpfe enthalten:

<GridViewHeaderRowPresenter
  DataContext="{Binding View, RelativeSource={RelativeSource FindAncestor,ListView,1}}"
  Columns="{Binding Columns}"
  ColumnHeaderContainerStyle="{Binding ColumnHeaderContainerStyle}"
  ColumnHeaderTemplate="{Binding ColumnHeaderTemplate}"
  ColumnHeaderTemplateSelector="{Binding ColumnHeaderTemplateSelector}"
  AllowsColumnReorder="{Binding AllowsColumnReorder}"
  ColumnHeaderContextMenu="{Binding ColumnHeaderContextMenu}"
  ColumnHeaderToolTip="{Binding ColumnHeaderToolTip}"
  SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>

Wenn das nicht funktioniert, ein sicheren Weg, es zu tun ist, um ein Rechteck zu addieren, die mit einem VisualBrush gemalt ist, dass Verweise des ein-und-nur GridViewHeaderRowPresenter an der Spitze des Gridview.

Dies kann mit einer angefügten Eigenschaft erfolgen auf dem Rechteck verwendet werden. Wenn die angeschlossene Eigenschaft festgelegt ist, registriert er einen Rückruf Dispatcher mit niedriger Priorität, dass:

  1. Scans auf die visuelle Struktur zur Listenansicht
  2. Suchen nach unten, bis er feststellt, die GridViewHeaderRowPresenter
  3. Erstellen Sie eine VisualBrush und setzt sie als Füllung für das Rechteck, und

Das Rechteck selbst etwas so sein würde:

<Rectangle HorizontalAlignment="Stretch"
           Height="{Binding Fill.Visual.RenderHeight}"
           my:GridViewHeaderHelper.SearchForHeaderRowPresenterAndSetFill="True" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top