Múltiples imágenes de la carpeta

Como soy bastante nuevo en C # y WPF, no puedo entender cómo hacerlo. Tengo un formulario que debería mostrar 151 imágenes (todos los sprites de la generación 1 de pokemon) en un formulario. La forma en que lo hice ahora es que muestra la misma imagen 151 veces en lugar de todas las imágenes solo una vez. El código que escribí para esto es el siguiente:

    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++;
        }

    }

Como puede ver, probablemente haya mucho margen de mejora en mi código. Sin embargo, mi pregunta es: ¿cómo puedo hacer que no muestre la misma imagen 151 veces sino todas las imágenes (sprite001.png, sprite002.png, sprite003.png, etc.)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta