Когда я создал свой первый (и на сегодняшний день, единственный) проект WPF для отображения главного окна приложения (называемого MainWindow
), я переопределил метод OnStartup класса App
, как показано ниже:
/// <summary>
/// Raises the System.Windows.Application.Startup event.
/// </summary>
/// <param name="e">The <see cref="System.Windows.StartupEventArgs" /> that contains the event data.</param>
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
// I did some app-specific stuff here...
MainWindow view = new MainWindow();
// Allow all controls in the window to bind to the ViewModel by setting the
// DataContext, which propagates down the element tree.
MainWindowViewModel viewModel = new MainWindowViewModel();
// and I did some more app-specific stuff here...
view.DataContext = viewModel;
view.Show();
}
Я полагаю, что это был рекомендуемый способ для приложений MVVM (хотя некоторое время назад);этот код был взят из приложения .NET 3.5.