WPFMessageBoxwithMVVMpattern?假设我想向用户显示一些身份验证错误。在MVVM模式中,我可以将标签绑定到我的视图模型上的某个属性。但是,如果我想在严格遵循MVVM模式的同时显示一个消息框怎么办?我的视图模型将绑定到什么,它将如何触发消息框的创建/显示?有一个IMessageBoxService接口:interfaceIMessageBoxService{boolShowMessage(stringtext,stringcaption,MessageTypemessageType);}创建WPFMessageBoxService类:使用System.Windows;classWPFMessageBoxService:IMessageBoxService{boolShowMessage(stringtext,stringcaption,MessageTypemessageType){//TODO:根据收到的MessageType选择MessageBoxButton和MessageBoxImageMessageBox.Show(text,caption,MessageBoxButton.OK,MessageBoxImage.Information);接受IMessageBoxService作为ViewModel中的构造函数参数,并使用DI/IoC注入WPFMessageBoxService。在ViewModel中,使用IMessageBoxService.ShowMessage来显示MessageBox。ShowMessageCommand=newDelegateCommand(()=>messageBoxService.ShowMessage(message,header,MessageType.Information));根据需要自定义IMessageBoxService接口,取个好听的名字。您可以将消息框控件的可见性绑定到验证。您需要一个BoolToVisibility转换器。请参阅此处了解如何使用内置转换器:BindButtonvisibilitytoboolvalueinViewModel这就是C#学习教程:WPFMessageBoxwithMVVMpattern?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
