在MVVM WP7应用程序中显示提示

时间:2012-06-26 07:50:07

标签: silverlight windows-phone-7 mvvm

我有一个主ViewModel和一个UserLoginViewModel。在用户视图模型中,我需要显示带有“确定/取消”选项的提示。我已按照此链接http://www.deanchalk.me.uk/post/WPF-MVVM-e28093-Simple-e28098MessageBoxShowe28099-With-Action-Func.aspx中的说明完成了此操作。为了避免无效交叉线程异常,我使用了一个调度程序。代码是这样的

  mainDispatcher.BeginInvoke(new MessageBoxDelegate
                  (
                      (message, title) => { Popup(msg, ""); }
                  ), messageArgs);

其中mainDispatcher是MainView的调度程序,Popup的类型为Func<string, string, MessageBoxResult>

它工作正常。问题是我无法从BeginInvoke方法获得结果。有没有办法从BeginInvoke方法获得结果? 如果没有,有什么建议我可以实现这个吗?

2 个答案:

答案 0 :(得分:2)

我不确定它是如何适应MVVM模型的,但我建议您使用code4fun的MessagePrompt而不是MessageBox

答案 1 :(得分:0)

显然,您使用 var result = Popup(msg,“”);

获得结果

您需要在BeginInvoke()中评估结果,因为BeginInvoke()下面的任何代码都在BeginInvoke()之前运行。