C# WPF Отсутствует подписка на событие авторизации

Делаю переход с UserContol'а авторизации на UserControl главной страницы по этому примеру.

Возможно где-то что-то проглядел, но после отладки выяснилось, что на событие OnAuthorize никто не подписан и поэтому оно не отрабатывает, код ниже:

ViewModel для авторизации:

public class AuthorizationViewModel : BaseViewModel
    {
        //Само событие
        public event EventHandler<LoginEventArgs> OnAuthorize;

       ...

        public ICommand EnterCommand { get; }
        public AuthorizationViewModel()
        {
            EnterCommand = new RelayCommand(Authorize);
        }

        private void Authorize(object o)
        {
            using (ChessTrainerContext ctx = new ChessTrainerContext())
            {
                if (ctx.Users.Where(u => u.Login == this.Login && u.Password == this.Password).Any())
                    //Вызов события (тут почему-то null)
                    OnAuthorize?.Invoke(this, new LoginEventArgs(this.Login, true));              
            }
        }
    }

    public class LoginEventArgs : EventArgs
    {
        public string Login { get; }
        public bool IsAuthorized { get; }

        public LoginEventArgs(string login, bool isAuthorized)
        {
            Login = login;
            IsAuthorized = isAuthorized;
        }
    }

ViewModel окна, на котором расположены UserControl'ы и в котором я подписываюсь на событие:

public class MainWindowViewModel : BaseViewModel
    {
        public AuthorizationViewModel authorizationViewModel { get; }

        public MainWindowViewModel()
        {
            authorizationViewModel = new AuthorizationViewModel();
            //подписываюсь на событие
            authorizationViewModel.OnAuthorize += AuthorizationViewModelOnOnAuthorize;
            CurrentContent = authorizationViewModel;
        }

        private BaseViewModel currentContent;
        public BaseViewModel CurrentContent
        {
            get => currentContent;
            set { currentContent = value; OnPropertyChanged(); }
        }

        private void AuthorizationViewModelOnOnAuthorize(object sender, LoginEventArgs e)
        {
            //проверка чтоб сменить UserControl
            CurrentContent = e.IsAuthorized ? (BaseViewModel)new ChessTrainerViewModel() : authorizationViewModel;
        }
    }

Ну и код App.xaml.cs, в котором вызывается MainWindow при запуске:

public partial class App : Application
    {
        private MainWindow Window { get; set; }
        public MainWindowViewModel MainViewModel { get; set; }

        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            MainViewModel = new MainWindowViewModel();
            Window = new MainWindow { DataContext = MainViewModel };
            Window.Show();
        }
    }

Ответы (0 шт):