2010-10-03 17 views
10

Próbuję nauczyć się MVVM Light i szukam dobrego podstawowego przykładu, który pokazuje model i sposób ładowania różnych widoków.Szukam prostego przykładu MVVM Light

Szablon widoczny po pobraniu MVVM Światło nie ma modeli i tylko jeden widok. (http://www.galasoft.ch/mvvm/creating/)

Inne rzeczy, które znalazłem, są bardziej złożone i nieco mylące, gdy wszystko, co chcę zobaczyć, to podstawy.

Dzięki.

Odpowiedz

8

Znalazłem ten przykład pomocne:

http://apuntanotas.codeplex.com/

+1

"Model" w tym e xlifuj narzędzia INotify. Mam tendencję do myślenia o Modelu jako przy użyciu POCO (Zwykły Stary Obiekt CLR) oraz z ModelView implementującym INotify w celu umożliwienia powiązania danych. –

1

ja osobiście uważam je za bardzo przydatne, choć oni również użyć MEF i RIA Services, które mogą skomplikować rzeczy:

A Sample Silverlight 4 Application Using MEF, MVVM, and WCF RIA Services

Architecting Silverlight 4 with RIA Services MEF and MVVM - Part 1

W kwietniu, autor MVVM Światła toolkit powiedział, że w końcu będzie tworzył aplikację referencyjną zarówno w Silverlight, jak i WPF. (Source)

Można znaleźć te inne pytania przydatne:

mvvm light toolkit samples

wpf/silverlight mvvm sample app request

mvvm tutorial from start to finish

1

Znalazłem te dwa być bardzo pomocne:

http://www.codeproject.com/KB/WPF/blendable_locator.aspx http://rickrat.wordpress.com/2011/01/24/using-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically

Jeden jest po prostu drop-in viewModelLocator klasy MVVM Light, który daje zdolności MEF.

[ExportViewModel("Demo1", false)] 
class Demo1ViewModel : ViewModel 
{ 
} 

A jeden second, używa tego samego podejścia z dodatkową klasą MefHelper który pozwala uruchomić ładowanie czasu MEF komponentów.

public void Compose() 
{ 
AggregateCatalog Catalog = new AggregateCatalog(); 
// Add This assembly's catalog parts 
System.Reflection.Assembly ass = System.Reflection.Assembly.GetEntryAssembly(); 
Catalog.Catalogs.Add(new AssemblyCatalog(ass)); 

// Directory of catalog parts 
if (System.IO.Directory.Exists(ExtensionsPath)) 
{ 
    Catalog.Catalogs.Add(new DirectoryCatalog(ExtensionsPath)); 
    string[] folders = System.IO.Directory.GetDirectories(ExtensionsPath); 

    foreach (string folder in folders) 
    { 
     Catalog.Catalogs.Add(new DirectoryCatalog(folder)); 
    } 

} 

_Container = new CompositionContainer(Catalog); 
} 
Powiązane problemy