我是WPF的新手,我尝试使用RelayCommand来实现演示应用程序。在执行RelayCommand之前进行UI验证WPF
我的问题是这样的:
,如果我要执行哪个有权询问用户是否自己一定要首先执行它的命令 - 什么是做到这一点的最好方法是什么? 我需要一个“你确定吗?”弹出消息框。但是,该命令在视图模型上执行,当然我不想在这里混淆GUI。
谢谢
我是WPF的新手,我尝试使用RelayCommand来实现演示应用程序。在执行RelayCommand之前进行UI验证WPF
我的问题是这样的:
,如果我要执行哪个有权询问用户是否自己一定要首先执行它的命令 - 什么是做到这一点的最好方法是什么? 我需要一个“你确定吗?”弹出消息框。但是,该命令在视图模型上执行,当然我不想在这里混淆GUI。
谢谢
我刚碰到这个自己。我使用MVVM Light,并使用Messenger完成此操作。
我让我的ViewModel发送了一个GetConfirmationMessage
,这是我在代码隐藏中注册的。在GetConfirmationMessage
的处理程序中,我弹出对话框并获得reuslts。如果用户点击OK,我发送一个ConfirmationReceived
消息,由ViewModel处理以进行适当的更新。
我处理这个问题的方法是在您的IOC中注册一个IDialogService
界面,并可用于ViewModels。
该服务然后提供与“用户”交互的各种方式。所以你可以有一个ConfirmMessage方法,根据接受对话的用户返回true或false。
然后对于单元测试说,你可以有一个不同的IDialogService
实现,允许你在测试时向你的ViewModel提供预定的响应。
Oooh。我喜欢这个。 – Robaticus 2011-02-17 23:26:44