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?
Ich denke, weil Sie jedes Bildelement zu einem neuen WrapPanel
in GameImagesTemplate
hinzufügen, sollten Sie nur ItemsControl
ItemsPanelTemplate
auf WrapPanel
in GameTemplate
Beispiel:
Xaml:
%Vor%Code:
%Vor%Ergebnis
Tags und Links wpf c# .net-4.0 itemscontrol