1、使用对话框继承IDialogService接口
/// <summary>
/// LoginWindow.xaml 的交互逻辑
/// </summary>
public partial class LoginWindow : Window,IDialogService
{
public LoginWindow()
{
InitializeComponent();
}
public Task ShowError(string message, string title, string buttonText, Action afterHideCallback)
{
throw new NotImplementedException();
}
public Task ShowError(Exception error, string title, string buttonText, Action afterHideCallback)
{
throw new NotImplementedException();
}
public Task ShowMessage(string message, string title)
{
MessageBox.Show(message, title);
return null;
}
public Task ShowMessage(string message, string title, string buttonText, Action afterHideCallback)
{
throw new NotImplementedException();
}
public Task<bool> ShowMessage(string message, string title, string buttonConfirmText, string buttonCancelText, Action<bool> afterHideCallback)
{
throw new NotImplementedException();
}
public Task ShowMessageBox(string message, string title)
{
throw new NotImplementedException();
}
private void TextBlock_MouseUp(object sender, MouseButtonEventArgs e)
{
Close();
}
}
2、在容器中注册
SimpleIoc.Default.Register<IDialogService, LoginWindow>();//参数1是接口,参数2是继承的类
3、使用
public RelayCommand<LoginWindow> CheckUserCommand2
{
get
{
var command = new RelayCommand<LoginWindow>((loginWindow) =>
{
BordDBEntities db = new BordDBEntities();
var model = db.UserInfo.ToList().FirstOrDefault(item => item.Name == AppData.CurrentUser.Name && item.Password == AppData.CurrentUser.Password);
if (model == null)
{
var dialog = SimpleIoc.Default.GetInstance<IDialogService>();
dialog.ShowMessage("用户密码错误", "提示");
return;
}
AppData.CurrentUser = model;
MainWindow mainWindow = new MainWindow();
mainWindow.Show();
loginWindow.Close();
});
return command;
}
}