Есть 2 ViewModel это LoginViewModel и AuthViewModel В AuthViewModel идет инициализация и вызов делегата при срабатывании команды
public event EventHandler LoginCompleted;
public ICommand AuthCommand => new Commands.RelayCommand(o => AuthMethod(o));
public void AuthMethod(object parametr)
{
System.Windows.MessageBox.Show("Авторизация успешна");
LoginCompleted?.Invoke(this, EventArgs.Empty);
}
И я сделал унаследование LoginViewModel от AuthViewModel чтоб в App.xaml.cs был виден делегат. App.xaml.cs
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
LoginWindow LoginWindow = new LoginWindow();
LoginWindow.DataContext = new ViewModels.LoginViewModel();
LoginWindow.Show();
((ViewModels.LoginViewModel)LoginWindow.DataContext).LoginCompleted += (s, ev) =>
{
Window MainWindow = new MainWindow();
LoginWindow.Hide();
LoginWindow.Close();
MainWindow.DataContext = new ViewModels.MainViewModel();
MainWindow.Show();
};
}
При клике на кнопку срабатываем команда и вызывается MessageBox но почему то окно LoginWindow не закрывается.
Есть способ AuthViewModel удалить и все сделать в LoginViewModel и так даже все работает. Но мне почему то кажется что не очень красиво в VM окна авторизации/регистрации делать VM страницы авторизации. Ведь у меня еще страница будет Register.xaml и для нее будет свой VM. Получается для Register.xaml есть свой VM а для Login.xaml не будет.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Возникла необходимость нарисовать поверхность на основе примитивов (лаба по компьютерной графике)Поверхность рисуется в собственном контроле...
Есть ~100 файлов png нужно их как бы анимировать, весят они от 8кб до 4мб
Пытаюсь к инталлятору положить DotNetFX461Если не выполнять ни каких действий, то при сборке проекта ругается: