单击按钮后,Messagebox.show触发两次(MVVM)

时间:2011-07-04 17:36:38

标签: mvvm messagebox

我正在使用Galasoft MVVMLight。我有一个绑定到命令的按钮,该命令向视图发送消息以显示要求确认的消息框。如果我单击消息框上的“是”或“否”,它将执行必要的操作,然后再次显示。但是,如果我单步执行该程序,我只会获得一次消息框。这是一个错误还是其他事情发生了?

编辑:我通过添加一个Icon和默认结果来修改messagebox.show行,现在我无法重现这种行为......我很难过......如果它再次发生我会尝试一个计数器像飞机员19建议的那样。

2 个答案:

答案 0 :(得分:1)

尝试使用整数跟踪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++";

答案 1 :(得分:0)

我有一个类似的问题,我的意思是,MessageBox触发两次。这是由于焦点更改,WinForms中的ListView在运行应用程序时触发了另一个选择更改事件;但是在调试时 - 缺少一些焦点变化,并且没有错误:)

我希望至少能为您提供一些想法......