В форме WPF мне нужно два сообщения о состоянии в текстовом поле, пока программа выполняет какую-то длительную задачу: «Начало» и «Завершено», чтобы упростить ее. Сообщение отображается в текстовом блоке, привязанном к свойству с OnPropertyChange
в установщике, конечно.
Проблема: при изменении этого свойства отображается только второе сообщение.
StatusMessage = "Started";
Thread.Sleep(700); // Searching the harddrives and make some lists in the real prog.
StatusMessage = "Finished";
Странно для меня: если я поставлю MessageBox.Show
между первым изменением свойства и Sleep
- что, конечно, не имеет смысла - все работает нормально:
StatusMessage "Started";
MessageBox.Show("Just click");
Thread.Sleep(700);
StatusMessage "Finished";
Попытка добиться того же с окном сообщения показывает почти такое же поведение: новое окно открывается, но не заполняется содержимым - если только в код не вставить бессмысленную MessageBox.Show
. (Я предполагаю, что это имеет ту же основную причину, поэтому добавьте это в ветку здесь.)
MsgWindow mw = new MsgWindow();
mw.Show();
MessageBox.Show("Just click"); //If I delete this line the window opens without content, color etc.
Thread.Sleep(700);
mw.Close();
Где моя ошибка?