wie ich bin ziemlich neu in C# und WPF Ich kann einfach nicht herausfinden, wie dies zu tun ist. Ich habe ein Formular, das 151 Bilder (alle Pokémon Generation 1 Sprites) in einer Form zeigen soll. So wie ich es jetzt gemacht habe, zeigt es das gleiche Bild 151 mal anstelle aller Bilder nur einmal. Der Code, den ich dafür geschrieben hat, ist wie folgt:Mehrere Bilder von Ordner
public partial class PokeGame : Window
{
BitmapImage carBitmap = new BitmapImage(new Uri("pack://application:,,,/Images/All_Sprites/001.png", UriKind.Absolute));
{
InitializeComponent();
int imgCount = 151;
int left = 0;
int top = 0;
List<Image> imageList = new List<Image>();
for (int i = 0; i < imgCount; i++)
{
if(i % 10 == 0)
{
if (i != 0)
{
top += 175;
left = 0;
} else
{
top = 0;
left = 0;
}
}
Image img_ding = new Image();
img_ding.Source = carBitmap;
img_ding.Height = 150;
img_ding.Width = 150;
img_ding.Margin = new Thickness(left, top ,0 ,0);
imageList.Add(img_ding);
left += 175;
}
int j = 0;
foreach (Image img in imageList)
{
imageCanvas.Children.Add(img);
j++;
}
}
Wie Sie sehen gibt es wahrscheinlich eine Menge Raum für Verbesserungen in meinem Code. Meine Frage ist jedoch: Wie kann ich es so einrichten, dass es nicht 151 Mal das gleiche Bild anzeigt, sondern alle Bilder (sprite001.png, sprite002.png, sprite003.png usw.)?
Du nennst 'img_ding.Source = carBitmap;' 151 mal in einer Schleife. Also, was erwartest du? Außerdem sollten Sie ein ItemsControl verwenden, anstatt programmgesteuert Bildsteuerelemente zu einem Canvas hinzuzufügen. – Clemens
Seufzer. Jetzt haben Sie drei Antworten, die Ihnen dasselbe sagen, alle haben immer noch das redundante 'UriKind.Absolute', aber keines zeigt, wie man ein ItemsControl benutzt. Ich würde später einen schreiben, wenn Sie interessiert sind. Dein Code dahinter würde auf eine Zeile fallen. – Clemens
Vielen Dank für das Angebot.Ich habe jetzt die Lösung und werde wahrscheinlich auch die anderen Vorschläge ausprobieren. Außerdem habe ich die img_ding.Source = carbitmap behoben; Linie jetzt. Danke für das Kommentieren! –