Laden...

WPF Dynamische Darstellung

Erstellt von Sebastian1989101 vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.057 Views
Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 13 Jahren
WPF Dynamische Darstellung

Hallo Community,

ich habe mal eine Frage. Und zwar versuche ich aktuell aus einer XML Datei bestimmte Informationen auszulesen -> klappt so weit ganz gut ist ja auch nicht schwierig. Jetzt ist nur mein Problem das ich vorher nicht weiß wie viele Einträge in dieser Datei vorhanden sind. Die View hingegen (ich verwende das MVVM Pattern darum hier die Rede von einer View) soll aber mir dies so zu sagen mit teilen dadurch das es bestimmte Komponenten X-mal anzeigt, und zwar nicht nur X-mal in einer Richtung sondern Theoretisch X und Y mal.

Beispielsweise wenn eine Spalte vorhanden ist mit 5 Einträgen:


            <StackPanel Margin="5" Orientation="Vertical">
                <TextBox HorizontalContentAlignment="Center" Text="Category 01" />

                <Separator />
                <Label Content="20" />
                <Button CommandParameter="1x20" />

                <Separator />
                <Label Content="40" />
                <Button CommandParameter="1x40" />

                <Separator />
                <Label Content="60" />
                <Button CommandParameter="1x60" />

                <Separator />
                <Label Content="80" />
                <Button CommandParameter="1x80" />

                <Separator />
                <Label Content="100" />
                <Button CommandParameter="1x100" />
            </StackPanel>

Dabei Definiert


<Separator />
<Label Content="20" />
<Button CommandParameter="1x20" />

ein Eintrag. Jetzt ist es halt so das aber auch das ganze StackPanel z.b. 2,3,4,5,...,20 mal vorkommen kann (nur Beispiels zahlen Theoretisch müssten auch 1000 abgebildet werden können was den aber sehr Unübersichtlich wäre). Das ganze liegt in einem Frame und ist mit ScrollBars für die X und Y Achse versehen. Nur ist jetzt mein Problem das ich nicht weiß wie ich so etwas Dynamisch machen soll. Wie sage ich Ihn bei X Einträgen mache X Spalten von nen StackPanel und mach in StackPanel XYZ eine Anzahl von Y Reihen? Ich hoffe ich habe mich richtig ausgedrückt und es gibt ne Simple Lösung den ich mag nicht mit so vielen Visibilitys rumspielen um zum Ziel zu kommen das sollte schon irgendwie Dynamisch alles Erzeugt werden. Ach ja an den Buttons hängt über ein Style ein Command Binding, der Command Parameter (im Beispiel "1x20") gibt zunächst die Spalte und in folge dessen mit 'x' getrennt den Wert an, dies müsste auch entsprechend Dynamisch erzeugt werden, halt je nachdem wo sich der jeweilige Button befindet, selbiges gilt für den Content des Labels wobei dieser nur den Wert anzeigt.

Ich hoffe mir kann jmd. bei der Lösung des Problems helfen wäre sehr nett. 😃

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo Sebastian1989101,

dafür sind Liste gut geeignet.
D.h. du hast deine Elemente (wo du vorher nicht weißt wie viele es sind) und bindest diese an ein ItemsControl.

Damit kannst du dann auf deinem View die Elemente schön anzeigen ohne vorher die genaue Anzahl zu kennen

Hier siehst du wie du das ItemsControl verwenden kannst WPF: Example of ItemsControl bound to an ObservableCollection

Gruß
Michael

Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 13 Jahren

Ah das sieht brauchbar aus. 😃

Vielen dank ich werde es mir gleich mal ansehen ich denke mal dass ist genau das was ich brauchte. 😃

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog