Im एक लॉगिन का उपयोग करके 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
कि मैं bind
इस xaml
तरह से अपने बटन को दबाता हूं ;
<Button Name="btnLogin" IsDefault="True" Content="Login" Command="{Binding ShowLoginCommand}" />
जब मैं उपयोगकर्ता नाम और पासवर्ड दर्ज करता हूं तो यह विनियोजित कोड निष्पादित करता है, चाहे वह सही हो, या गलत हो। लेकिन मैं इस विंडो को ViewModel से कैसे बंद कर सकता हूं जब उपयोगकर्ता नाम और पासवर्ड दोनों सही हैं?
मैंने पहले प्रयोग करने की कोशिश की है dialog modal
लेकिन यह काफी कारगर नहीं रहा। इसके अलावा, मेरे app.xaml के भीतर, मैंने निम्नलिखित की तरह कुछ किया है, जो पहले लॉगिन पृष्ठ को लोड करता है, फिर एक बार सही होने पर वास्तविक एप्लिकेशन को लोड करता है।
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 से लॉगिन कैसे बंद कर सकता हूं ?
अग्रिम में धन्यवाद।