Entwickler-Ecke

WPF / Silverlight - WPF Dynamisch wie PHP


CityHunter - Mi 16.01.13 19:37
Titel: WPF Dynamisch wie PHP
Hallo,

habe da mal eine Frage. Wie kann man am besten in WPF Buttons und andere sachen Dynamisch ausgeben lassen wie im PHP.
Wollte ein kleines Progamm schreiben mit Access Verbindung schreiben was Button Dynamisch ausgibt, also so wie viele Daten im der Access drin sind so viele Buttons sollen auch angezeigt werden.

Hat da vielleicht jemand eine vorlage für mich oder eine Internet Seite wo das schon mal behandelt worden ist?.

Mit freundlichen Gruß
City


Th69 - Do 17.01.13 11:55

Hallo,

der übliche Weg mit WPF geht über MVVM [http://msdn.microsoft.com/de-de/magazine/dd419663.aspx], d.h. mittels DataBinding.

Hier einige Ansätze, um Controls (z.B. auch Buttons) in einer Liste anzuzeigen:
ListBox in WPF [http://www.c-sharpcorner.com/uploadfile/mahesh/listbox-in-wpf/]
WPF: Example of ItemsControl bound to an ObservableCollection [http://www.galasoft.ch/mydotnet/articles/article-2007041201.aspx]


CityHunter - Sa 19.01.13 13:46

Hey Leute,

ich habe mir paar sachen angeschaut und bissel rum expermentiert.
Nun leider habe ich jetzt das Problem da ich mich nicht so gut mit XAML auskenne und so wie ich meine Button Automatisch untereinander anzeigen lassen kann.

hier ist mal der Code also der Button 6 wird mir angezeigt und die anderen Button sind bestimmt unter einander jetzt bräuchte ich bitte mal eure hilfe wich ich das änder kann.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
int xPos = 8;
            int yPos = 8;
            btnNum = 6;
            AddControls(btnNum);
            int n = 1;
            while(n < btnNum +1)
            {
                btnArray[n].Tag = n;
                btnArray[n].Width = 72;
                btnArray[n].Height = 24;
                btnArray[n].Content = "Button" + btnArray[n].Tag.ToString();
                btnArray[n].HorizontalAlignment = HorizontalAlignment.Left;
                btnArray[n].VerticalAlignment = VerticalAlignment.Top;
                grid.Children.Add(btnArray[n]);
                n++;
            }


Christian S. - Sa 19.01.13 13:58

Hallo!

Mit Kommata wäre Dein Beitrag sehr viel einfacher zu lesen und die Motivation wäre höher, Dir zu helfen :?


Du solltest wirklich versuchen, das Problem per XAML zu lösen. Ein Beispiel für XAML-Quelltext, der sowas ähnliches macht, ist ja im ersten Link von Th69 zu sehen. Sonst ist der ganze Witz von WPF eigentlich weg :nixweiss:

Grüße,
Christian


CityHunter - Sa 19.01.13 19:55

Oh man, wenn ich mir das anschaue mit Data Binding und XAML Platz mir der Schädel ja gladt weg.

Muss ich extra eine schleife einbauen für die Buttons oder erledigt das größten teils denn das XAML das die ganzen Buttons angezeigt werden?