Istnieje również sposób określenia modelu widoku:
using Wpf = System.Windows;
public partial class App : Wpf.Application //your skeleton app already has this.
{
protected override void OnStartup( Wpf.StartupEventArgs e ) //you need to add this.
{
base.OnStartup( e );
MainWindow = new MainView();
MainWindow.DataContext = new MainViewModel( e.Args );
MainWindow.Show();
}
}
<Rant>
Wszystkie wcześniej proponowane rozwiązania wymagają, MainViewModelaby mieć konstruktora bez parametrów.
Microsoft ma wrażenie, że systemy można budować za pomocą konstruktorów bez parametrów. Jeśli również jesteś pod takim wrażeniem, śmiało skorzystaj z innych rozwiązań.
Dla tych, którzy wiedzą, że konstruktorzy muszą mieć parametry, a zatem instancji obiektów nie można pozostawić w rękach magicznych frameworków, właściwym sposobem określenia viewmodelu jest ten, który pokazałem powyżej.
</Rant>