在ViewModel中成功登录验证时,在View中显示MessageBox

时间:2017-12-14 02:43:01

标签: c# winforms mvvm devexpress

我想在点击登录按钮时根据ViewModel中的登录值在View中显示一条消息。

//ViewModel
private enum Validate { InvalidForm, Success, AuthorizationFail, ConnectionFailed }
int loginValidation;
public void Islogin()
{
    if (username.Equals(string.Empty) || password.Equals(string.Empty))
    {
        loginValidation = 0;
    }
    try
    {
        var user = dxdbEntities.UserViews.Where(x => x.username.Equals(username) && x.password.Equals("password"));
        if(user.Count() > 0)
        {
             loginValidation = 1;
        }
        else
        {
            loginValidation = 2;
        }
    }
    catch (Exception)
    {
        loginValidation = 3;
    }
}

// View
FluentApi.WithEvent(buttonLogin, "Click").EventToCommand(x => x.Islogin());

请举个例子。

1 个答案:

答案 0 :(得分:1)

要显示消息框,请使用MessageBoxService

public IMessageBoxService MessageBoxService => this.GetService<IMessageBoxService>();
public void Islogin()
{
    if (username.Equals(string.Empty) || password.Equals(string.Empty))
    {
        loginValidation = 0;
    }
    try
    {
        var user = dxdbEntities.UserViews.Where(x => x.username.Equals(username) && x.password.Equals("password"));
        if (user.Count() > 0)
        {
            loginValidation = 1;
            MessageBoxService?.ShowMessage("Success");
        }
        else
        {
            loginValidation = 2;
        }

    }
    catch (Exception)
    {
        loginValidation = 3;
    }
}