Что входит в метод Main для WPF / MVVM? - PullRequest
0 голосов
/ 06 августа 2010

Создание моего первого приложения MVVM WPF.Я ожидал увидеть метод Main () в App.xaml (я привык к Silverlight), но его там нет.Я добавил свой собственный метод Main.Затем в Silverlight я создал View, связанный с ViewModel, и установил его как RootVisual.Как правильно открыть мое первое окно просмотра в WPF?

Ответы [ 2 ]

0 голосов
/ 06 августа 2010

Когда я создал свой первый (и на сегодняшний день, единственный) проект 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.

0 голосов
/ 06 августа 2010

Есть много способов, но я думаю, что WPF-эквивалент установки Silverlight RootVisual - это вызвать Application.Run

App.Run(new MainWindow())

В общем, здесь нет правильного или неправильного пути и не существует принятого соглашения. Некоторые люди делают этот вызов в событии запуска. Другие люди не используют событие и переопределяют OnStartup. Третьи используют StartupUri в App.xaml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...