Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Messagebox.show在按钮单击后激发两次(MVVM)_Mvvm_Messagebox - Fatal编程技术网

Messagebox.show在按钮单击后激发两次(MVVM)

Messagebox.show在按钮单击后激发两次(MVVM),mvvm,messagebox,Mvvm,Messagebox,我正在使用Galasoft MVVMLight。我有一个绑定到命令的按钮,该命令向视图发送一条消息,以显示一个请求确认的消息框。如果单击messagebox上的Yes(是)或No(否),它将执行必要的操作,然后再次显示。但是,如果我单步执行程序,我只会得到一次messagebox。这是一个bug还是其他什么东西 编辑:我修改了消息框。通过添加图标和默认结果显示行,现在我无法重现此行为。。。我被难住了。。。如果这种情况再次发生,我将尝试AirplaneM19建议的计数器。尝试跟踪MessageBo

我正在使用Galasoft MVVMLight。我有一个绑定到命令的按钮,该命令向视图发送一条消息,以显示一个请求确认的消息框。如果单击messagebox上的Yes(是)或No(否),它将执行必要的操作,然后再次显示。但是,如果我单步执行程序,我只会得到一次messagebox。这是一个bug还是其他什么东西


编辑:我修改了
消息框。通过添加图标和默认结果显示
行,现在我无法重现此行为。。。我被难住了。。。如果这种情况再次发生,我将尝试AirplaneM19建议的计数器。

尝试跟踪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++";

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


我希望这至少能给你一些想法……

事情又发生了。。。我在用柜台。谢谢,我知道这真的很晚了,但仅供将来参考,你不需要“如果”部分。我在玩弄Python的“pass”语句,它实际上什么也不做,我没有发现我的错误。