Windows Phone 8 - MVVM ViewModels und App.xaml.cs

Ich habe das MVVM-Muster untersucht und in einer Windows Phone 8-App umgesetzt. Außerdem habe ich eine Frage zu den Best Practices für die Initialisierung und den Zugriff auf ViewModels in einer App.

Wenn ich eineDatengebundene Anwendung Aus den WP8 SDKs Templates habe ich diesen Code im bemerktApp.xaml.cs Datei:

public static MainViewModel ViewModel
{
    get
    {
        // Delay creation of the view model until necessary
        if (viewModel == null)
            viewModel = new MainViewModel();

            return viewModel;
    }
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    // Ensure that application state is restored appropriately
    if (!App.ViewModel.IsDataLoaded)
    {
        App.ViewModel.LoadData();
    }
}

Soweit ich weiß, bedeutet das, dass dieApp Klasse enthält dieMainViewModel Als statisches Mitglied und wenn die Anwendung aktiviert ist, wird das ViewModel geladen.

In diesem Fall habe ich folgende Fragen:

Wenn meine App über mehrere ViewModels verfügt, werden diese alle als Mitglieder in der App gespeichertApp.xaml.cs Datei?

Wie verwalte ich den Speicher meiner App, wenn alle ViewModel-Daten gleichzeitig geladen werden? Ist es möglich, die Daten jedes ViewModels zu entladen und nur das ViewModel zu laden, das von meinem View verwendet wird?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage