Messagebox.show запускается дважды после нажатия кнопки (MVVM) - PullRequest
0 голосов
/ 04 июля 2011

Я использую Galasoft MVVMLight.У меня есть кнопка, связанная с командой, которая отправляет сообщение в представление для отображения окна сообщения с запросом подтверждения.Если я нажимаю «Да» или «Нет» в окне сообщения, он выполняет необходимые действия, а затем снова появляется.Однако, если я перейду к программе, я получу окно сообщения только один раз.Это ошибка или что-то еще происходит?

РЕДАКТИРОВАТЬ: я изменил строку messagebox.show, добавив значок и результат по умолчанию, и теперь я не могу воспроизвести это поведение ... Я в тупике.... если это случится снова, я попробую счетчик, как предложил аэропланщик.

Ответы [ 2 ]

1 голос
/ 04 июля 2011

Попробуйте отследить количество раз, которое MessageBox показывает с целым числом, например:

int counter = 0;
if(counter == 0){
  MessageBox.Show();
  counter++;
}
else if (counter == 1)
  /*Do something that won't alter the program just to escape the if....else statement
    like "x++";
0 голосов
/ 04 июля 2011

Однажды у меня была похожая проблема, я имею в виду, что MessageBox запускался дважды. Это произошло из-за изменения фокуса, и ListView в WinForms вызвал другое событие изменения выбора при запуске приложения; но при отладке - некоторые изменения фокуса отсутствовали, и ошибки не было:)

Я надеюсь, что по крайней мере это даст вам несколько идей ...

...