window control
Bir kullanıcının WPF
benim oluşturduğum bir uygulamaya giriş yapmasına izin vermek için a kullanarak bir Giriş oluşturuyorum.
Şimdiye kadar, kullanıcının giriş ekranında username
ve password
a için doğru kimlik bilgilerini girip girmediğini kontrol eden bir yöntem oluşturdum textbox
, binding
iki properties
.
Ben de bunu bir bool
yöntem oluşturarak başardım ;
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();
}
Bir de bende var command
ki gibi bind
içinde xaml
düğmem var;
<Button Name="btnLogin" IsDefault="True" Content="Login" Command="{Binding ShowLoginCommand}" />
Kullanıcı adını ve şifreyi girdiğimde, ister doğru ister yanlış olsun, kendisine ait olan kodu çalıştırır. Ancak hem kullanıcı adı hem de şifre doğru olduğunda bu pencereyi ViewModel'den nasıl kapatabilirim?
Daha önce a kullanmayı denedim dialog modal
ama pek işe yaramadı. Ayrıca, app.xaml dosyamda, aşağıdaki gibi bir şey yaptım, bu ilk önce giriş sayfasını yükler, sonra doğru olduğunda gerçek uygulamayı yükler.
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);
}
}
Soru: Window control
ViewModel'den Login'i nasıl kapatabilirim ?
Şimdiden teşekkürler.