Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Empfohlene Antworten

Veröffentlicht

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.