Zum Inhalt springen

[C# WPF] "Image" zur Laufzeit hinzufügen


Goulasz

Empfohlene Beiträge

Servus Board!

Ich stehe ein wenig auf dem Schlauch und hoffe, dass mir jemand weiterhelfen kann. Vielleicht hab ich auch einfach nur etwas übersehen oder bin zu doof :upps.

Die Umgebung:

Ich möchte ein kleines Programm zum Auslesen eines mit Bildern befüllten Ordner erstellen(soll später eine mit Storyboards und Effekten versehene "KlickiBunti"-Slideshow für nen Terminal-Rechner werden), das die Bilder der Reihe nach in Images wirft und diese auf dem Hauptform anzeigt. Das muss natürlich zur Laufzeit geschehen, momentan ist der Ordner noch hardcoded, wird aber später durch eine manuelle Auswahl zur Laufzeit ersetzt.

Das Problem:

Obwohl ich die Images mit allen(?) für die Erstellung wichtigen Attributen definiert habe, erscheinen sie nach Aufruf der AddChild-Methode nicht. Mit anderen Steuerelementen(z.B. Button) funktioniert das ohne Probleme, nur mit dem Image bisher nicht. Angezeigt werden die Bilder in der Listbox wiederum korrekt.

Hier der Code:

        private void Bild_erzeugen(string Dateiname, string Bildname)

        {

            Image Image1 = new Image();

            Image1.Margin = new Thickness(Position, 0, 0, 0);

            Image1.HorizontalAlignment = HorizontalAlignment.Left;

            Image1.VerticalAlignment = VerticalAlignment.Top;

            Image1.Name = Bildname;

            BitmapImage bi3 = new BitmapImage();

            bi3.UriSource = new Uri(Dateiname, UriKind.Absolute);

            Image1.Width = 100;

            Image1.Height = 100;

            Image1.Stretch = Stretch.Fill;

            Image1.Source = bi3 ;

            Hauptfenster.Children.Add(Image1);

            Position += 110;

        }


        private void button1_Click(object sender, RoutedEventArgs e)

        {

            DirectoryInfo DI1 = new DirectoryInfo(@"C:\Dokumente und Einstellungen\Ziegler\Eigene Dateien\Nummerierung\");

            foreach (FileInfo FI1 in DI1.GetFiles())

            {

                if (FI1.Extension.ToUpper() == ".JPG")

                {

                    Bild_erzeugen(FI1.FullName, "_" + FI1.Name.Replace('.', '_'));

                    listBox1.Items.Add(FI1.Name);

                }

            }

        }

Ich hoffe, jemand findet den Fehler, ich selbst komme da irgendwie nicht weiter bzw. kann mir nicht erklären, wo der Fehler ist, zumal auch keine Exception ausgeworfen wird...die Bilder sind einfach nicht da. Danke schonmal im Voraus und

Gruß, Zieg0re

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sehr schön, dass Du Deinen Fehler selbst gefunden ist, noch viel schöner, dass Du mit WPF-Arbeitest.

Hab auch schon das UI für eine komplexere Anwendung mit WPF gemacht und war begeistert, vor allem das Property-System dahinter und der/die Dispatcher habens mir angetan .... kein nerfiges "Event-Delegate-Invoke-von hinten in die Brust und durchs Knie wieder raus" rumgeiere für länge Update- bzw Ladejobs von Objektlisten und die daraus resultierende Aktualisierung in der Oberfläche

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...