我需要你的帮助。我已经花了很多时间研究如何使用MVVM Light for WPF显示对话框。但是,我运气不好。
我读到了有关如何实现/使用DialogService:https://marcominerva.wordpress.com/2014/10/14/dialogservice-in-mvvm-light-v5/的内容,但却发现它没有DialogService。我必须为WPF实现DialogService。
有人可以帮助我实现如何为WPF实现DialogService吗?非常感谢您的帮助。
答案 0 :(得分:1)
我不确定这是否是一个完美的解决方案,但我创建了一个显示对话框的服务。
public interface IDialogService {
void ShowError(Exception Error, string Title);
void ShowError(string Message, string Title);
void ShowInfo(string Message, string Title);
void ShowMessage(string Message, string Title);
bool ShowQuestion(string Message, string Title);
void ShowWarning(string Message, string Title);
}
public class DialogService : IDialogService {
public void ShowError(Exception Error, string Title) {
MessageBox.Show(Error.ToString(), Title, MessageBoxButton.OK, MessageBoxImage.Error);
}
public void ShowError(string Message, string Title) {
MessageBox.Show(Message, Title, MessageBoxButton.OK, MessageBoxImage.Error);
}
public void ShowInfo(string Message, string Title) {
MessageBox.Show(Message, Title, MessageBoxButton.OK, MessageBoxImage.Information);
}
public void ShowMessage(string Message, string Title) {
MessageBox.Show(Message, Title, MessageBoxButton.OK);
}
public bool ShowQuestion(string Message, string Title) {
return MessageBox.Show(Message, Title, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes;
}
public void ShowWarning(string Message, string Title) {
MessageBox.Show(Message, Title, MessageBoxButton.OK, MessageBoxImage.Warning);
}
}
这对我很好。如果需要在平台上进行更改,则只需修改DialogService类。