Обновление изображения окна WPF из меню, но не во время цикла

Ладно, это настоящий скребок

Если я выбираю пункт меню, который заставляет изображение, которое составляет все окно (writeableBitmap), рисовать на нем несколько пикселей, он делает это и отображается правильно.

Однако, если я добавлю цикл while (скажем, для 5 циклов) к тому же методу, рисование на растровом изображении не будет отображаться до тех пор, пока цикл не будет завершен, а затем 5-й перерисованный растровый рисунок не будет отображаться правильно.

Итак, есть ли какое-то «автоматическое обновление», которое происходит с окном, когда элемент меню выбран, но пропускается в цикле while?

Подробнее Это отлично работает (приносит «чистое» изображение, рисует на нем какие-то вещи, отображает его):

// This brings in a 'clean' image
writeableBitmap = new WriteableBitmap(CleanVegMap);
image.Source = writeableBitmap;
// This makes a bunch of draws on the bitmap
DrawDinos2d();

Это, однако, «уходит» на 10 секунд и затем отображает только последнее (то есть 5-е) изображение:

int z = 0;
while (z < 5){
z++;
   // This brings in a 'clean' image
   writeableBitmap = new WriteableBitmap(CleanVegMap);
   image.Source = writeableBitmap;
   // This makes a bunch of draws on the bitmap
   DrawDinos2d();
}

Новая идея: возможно ли, что каким-то образом система каким-то образом кэширует 5 «нарисованных» writeableBitmaps в памяти?

Пробовал с помощью Dispatcher (как показано ниже):

                Dispatcher.Invoke((Action)delegate
            {               
                writeableBitmap = new WriteableBitmap(CleanVegMap);
                image.Source = writeableBitmap;
                DrawDinos2d();
            });

То же самое (уходит на 10 секунд, а затем отображает только последнее изображение.

Еще одна подсказка: я просто помещаю MessageBox в цикл в нижней части каждого цикла, и, как я как-то подозревал, он правильно «моргнул» перерисованным экраном. Как-то:

 System.Windows.MessageBox.Show("Glarp!");

этот звонок «разбудил» систему. Опять какие-нибудь идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос