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

He estado estudiando el patrón MVVM y lo he puesto en práctica en una aplicación de Windows Phone 8, y tengo una pregunta sobre las mejores prácticas para inicializar y acceder a ViewModels en una aplicación.

Cuando creo unAplicación de datos A partir de las plantillas de WP8 SDK, noté este código en laApp.xaml.cs expediente:

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();
    }
}

Por lo que entiendo, eso significa que elAplicación clase contiene elMainViewModel como miembro estático, y cuando se activa la aplicación, se carga el ViewModel.

Siendo ese el caso, tengo las siguientes preguntas:

Si mi aplicación tiene varios ViewModels, todos ellos se almacenarán como miembros dentro delApp.xaml.cs ¿expediente?

Si todos los datos de ViewModel se cargan al mismo tiempo, ¿cómo administro la memoria de mi aplicación? ¿Es posible descargar los datos de cada ViewModel y solo cargar el ViewModel que está utilizando mi vista?

Respuestas a la pregunta(1)

Su respuesta a la pregunta