XAML Powiązanie danych pojedynczego obiektu MVVM

UWAGI

Jestem debiutantem, czasami utknąłem w myślach prostych i / lub głupich, to jest jeden z nich.

Mam ogólną ideę powiązania danych, przeszedłem przez kilka samouczków w sieci i przez kilka godzin przeszukałem go przez wiele tekstów, co tylko trochę mnie pomieszało.

PROBLEM

pracuję nadAplikacja Windows Phone 8 C # / XAML .NET 4.5.

Korzystając ze strony internetowej dostarczonej mi z kilkoma metodami, które ładuję dane, które muszę wyświetlić (czasami w różnych kombinacjach) i muszę przechowywać większość z nich na czas działania aplikacji.

W tym celu stworzyłemViewModel + kilka modeli i skonstruowałem je w ten sposób:

MainViewModel
--------------
|
+ several properties (Username, Password, etc...)
|
+ Commands (loadData1, loadData2, flush, ...  - implementations of ICommand)
|
+ ------ PersonalInfoModel
|        -----------------
|        + several properties (name, surname, phonenumber, etc...)
|
|             
+ ------ DataGroup1Model
|        ---------------
|        +several properties
|        +ObservableCollection<Item1> (roughly 0 - 50 items)
|        +ObservableCollection<Item2> (roughly 0 - 5 items)
|        +ObservableCollection<string> (roughly 0 - 5 items)
|        
|                  Item1                         Item2
|                  -----                         -----
|                  +several properties           +several other properties
|                  
|
+ ------ DataGroup2Model (similar to previous)
...et cetera...

ViewModel nie jest wypełniany od razu (ponieważ nie może być), ale dane są ładowane do niego, gdy użytkownik przechodzi przez aplikację i określa, jakie dane chce załadować (opiera się to głównie na pewnym przedziale czasowym i / lub innych kryteriach).

StworzyłemMainViewModel wApp.xaml.cs lubię to:

private static MainViewModel viewModel = null;
public static MainViewModel ViewModel
{
    get
    {
        if (viewModel == null)
        {
            viewModel = new MainViewModel();
        }
        return viewModel;
    }
}

UWAGA: Od niektórych osób słyszałem, że MVVM może / powinien być używany w inny sposób i powinienem utworzyć ViewModel dla każdej strony zamiast mieć jedną klasę podobną do pojedynczej, z której można by się wiązać. Po zastanowieniu postanowiłem, że to będzie tak, jak teraz.

Chciałbym teraz ustawićviewModel Stworzyłem jako źródło / datacontext, aby powiązać z XAML

PYTANIA

Jak to osiągnąć?

Jeśli chciałbym ustawićitemSource listBox / longListSelector lubText na przykład textBoxPersonalInfoModel w środkuMainViewModel, jak mam to zrobić?

P.S: Jak napisano w notatce na początku pytania, jestem debiutantem. Wiem, że czasami jest nam ciężko, ale żaden z wielkich myślicieli po prostu nie zrodził się z wielkiej pustki, dlatego proszę o bardziej szczegółowe wyjaśnienie, a potem po prostu „Powinieneś ustawić swój obiekt jako źródło danych w oknie, a następnie ustawić to „

questionAnswers(1)

yourAnswerToTheQuestion