Обновление изображения окна 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)

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