Entwickler-Ecke
WPF / Silverlight - List<Image> Anzeige Problem
Pruit - So 25.04.10 14:56
Titel: List<Image> Anzeige Problem
Hallo,
Ich arbeite zZ an einem kleinen Projekt, hierbei habe ich eine Liste mit neu erstellten Images, gebe den Images eine Source und versuchen nun sie anzuzeigen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| public void Icons(List<Link> LL) { ImgList.Clear(); for (int i=0; i < LL.Count; i++) { ImgList.Add(new System.Windows.Controls.Image()); Icon Icon = IconExtractor.ExtractIconLarge(LL[i].path); if (Icon != null) { ImgList[i].Source = IconExtractor.BmToBmi(Icon.ToBitmap()); ImgList[i].Width = 50; ImgList[i].Height = 50; ImgList[i].BringIntoView(); } }
} |
Programm lässt sich ohne Probleme Kompilieren und ausführen, zeigt jedoch kein Bild an. Die Funktionen zum ermitteln der Source funktionieren auch.
Es muss also ein Problem bei der List<Image> geben. Was muss ich beachten das die erstellten Images auch angezeigt werden?
Es handelt sich dabei um ein WPF-Programm.
Sollte noch etwas unklar sein fragt bitte!
Hoffe ihr könnt mir helfen!
Beste Grüße
Moderiert von
Kha: Code [http://pastebin.com/vvNGDDvU] eingebettet
Kha - So 25.04.10 15:55
:welcome:
Damit ein UIElement angezeigt wird, braucht es auch einen Container, also z.B. eine passende Ableitung von Panel, der du das Element per Children.Add hinzufügst.
Generell lässt sich unter WPF aber sagen, dass du etwas falsch gemacht hast, wenn du Elemente dynamisch im Code erstellst. Dafür gibt es eigentlich (Ableitungen von) ItemsControl in Verbindung mit Data Templates.
Pruit - So 25.04.10 16:08
Danke erstmal für die informative Antwort. Da ich erst kürzlich mit C# angefangen habe, hapert es bei mir noch stark bei den Basics, ich bitte deswegen um Nachsicht!
Also, kann ich auch ein Grid als Container verwenden? Ich erstelle also ein Grid in XAML und passe es meinen Wünschen an, nun kann ich dann per meinGrid.Children.Add(Image) das
Image hinzufügen?
Wie spreche ich eig. das Grid, das ich in XAML erstellt habe, in einer Klasse an? Wie übergebe ich die Referenz des Grid an eine Klasse? Mache ich das wie bei anderen Klassen?
Danke für die nette Hilfe :)
EDIT: Habe es gerade mit MeinGrid.Children.Add(image) probiert und es scheint zu gehen, nun habe ich aber noch das Problem das ich leider noch nicht verstanden habe wie ich die Referenz des
Grids, das ich in XAML erstellt habe, in meine Klasse bekomme. Also einfach als Referenz per Parameter bei der initialisierung übergeben?
EDIT2: Danke, hab das jetzt alles hinbekommen! Danke nochmal an dich Kha! Hat jetzt alles geklappt! :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!