window control
사용자 WPF
가 내가 만들고 있는 응용 프로그램 에 로그인 할 수 있도록를 사용하여 로그인을 만듭니다.
지금까지 사용자가 로그인 화면 에서 username
및 password
에 대한 올바른 자격 증명을 입력했는지 확인하는 방법을 만들었습니다.textbox
binding
두 properties
.
나는 bool
이와 같은 방법 을 만들어서 이것을 달성했다 .
public bool CheckLogin()
{
var user = context.Users.Where(i => i.Username == this.Username).SingleOrDefault();
if (user == null)
{
MessageBox.Show("Unable to Login, incorrect credentials.");
return false;
}
else if (this.Username == user.Username || this.Password.ToString() == user.Password)
{
MessageBox.Show("Welcome " + user.Username + ", you have successfully logged in.");
return true;
}
else
{
MessageBox.Show("Unable to Login, incorrect credentials.");
return false;
}
}
public ICommand ShowLoginCommand
{
get
{
if (this.showLoginCommand == null)
{
this.showLoginCommand = new RelayCommand(this.LoginExecute, null);
}
return this.showLoginCommand;
}
}
private void LoginExecute()
{
this.CheckLogin();
}
나는 또한 같은 내 버튼에 command
that I 이 있습니다.bind
xaml
<Button Name="btnLogin" IsDefault="True" Content="Login" Command="{Binding ShowLoginCommand}" />
사용자 이름과 비밀번호를 입력하면 옳든 틀리 든 적절한 코드를 실행합니다. 그러나 사용자 이름과 암호가 모두 정확할 때 ViewModel에서이 창을 어떻게 닫을 수 있습니까?
이전에 a를 사용해 보았지만 dialog modal
제대로 작동하지 않았습니다. 또한 내 app.xaml 내에서 다음과 같은 작업을 수행하여 로그인 페이지를 먼저로드 한 다음 true가되면 실제 애플리케이션을로드합니다.
private void ApplicationStart(object sender, StartupEventArgs e)
{
Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
var dialog = new UserView();
if (dialog.ShowDialog() == true)
{
var mainWindow = new MainWindow();
Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
Current.MainWindow = mainWindow;
mainWindow.Show();
}
else
{
MessageBox.Show("Unable to load application.", "Error", MessageBoxButton.OK);
Current.Shutdown(-1);
}
}
질문 : Window control
ViewModel 에서 로그인 을 닫으려면 어떻게 해야합니까?
미리 감사드립니다.