Horizontal ausgerichtetes WrapPanel in ItemsControl-Listen vertikal

8

Ich habe zwei DataTemplates in meinem XAML definiert, die jeweils für ein separates ItemsControl Panel verwendet werden.

Das Haupt-ItemsControl listet Foo-Objekte auf, die in einem ObservableCollection-Objekt gespeichert sind.

Das Foo-Objekt selbst hat einen eigenen Satz von Elementen, die in einem ObservableCollection-Objekt gespeichert sind.

Ich habe versucht, den XAML so zu definieren, dass jeder ObservableCollection Foo-Eintrag mit seinem Namen in einer Kopfzeile angezeigt wird (The first ItemsControl). Daraus sollte die Liste innerhalb jedes Foo-Elements selbst horizontal angezeigt werden (unter Verwendung des zweiten ItemsControl) mit einem verwandten Feld direkt darunter. Wenn genügend Elemente vorhanden sind, sollten sie bei Bedarf zur nächsten Zeile wechseln.

So steht die Benutzeroberfläche derzeit:

So möchte ich die Benutzeroberfläche tatsächlich erscheinen lassen:

Mein Markup (Button-Steuerelemente sind für einen anderen Aspekt der Benutzeroberfläche):

%Vor%

DataTemplate zum Auflisten von Foo-Elementen:

%Vor%

DataTemplate zum Auflisten von Elementen innerhalb jedes Foo-Elements:

%Vor%

Ich bin ziemlich neu bei WPF, also habe ich das Gefühl, dass es ein Problem ist, das dadurch verursacht wird, wie ich die Steuerelemente verwende.

Welche WPF-Änderungen müsste ich vornehmen, um die Benutzeroberfläche zu erstellen, die ich möchte?

    
Jamie Keeling 10.02.2013, 23:20
quelle

1 Antwort

17

Ich denke, weil Sie jedes Bildelement zu einem neuen WrapPanel in GameImagesTemplate hinzufügen, sollten Sie nur ItemsControl ItemsPanelTemplate auf WrapPanel in GameTemplate

setzen

Beispiel:

Xaml:

%Vor%

Code:

%Vor%

Ergebnis

    
sa_ddam213 11.02.2013, 00:14
quelle

Tags und Links