mvvm light, jeden widok, wiele view-modeli?

0

Cześć!

Realizuję swój pierwszy projekt w mvvm light i napotkałem na taki mały problem: czy możliwe jest utworzenie jednego widoku w którym będzie wiele view-modeli? Jeśli tak, to jak można uzyskać taki efekt? Czy jedynym rozwiązaniem jest wiele kontrolek UserControl ?
Szybki przykład:

*Klasa Person: pola: Id, FName, LName, Details (powiązanie do klasy niżej)
*Klasa Details: pola: Id, Text
*VM: MainPageViewModel: ObservableCollection PersonList
*VM: DetailsViewModel: ObservableCollection DetailsList

Na jednym widoku chciałbym mieć DataGrid z PersonList (z VM MainPageViewModel) oraz niżej drugi DataGrid z DetailsList (z VM DetailsViewModel)

1

If you use framework, don't abuse it.
Jeśli zdecydowałeś na framework, nie hakuj, tylko rób jak trzeba. Wprowadzisz tym tylko niepotrzebne zamieszanie, zwłaszcza dla kolejnego programisty.
Po to się wybiera framework, żeby trzymać się ustalonego porządku.

0

Pewnie ze sie da - tylko ze nie prosto :). Za pomoca refleksji moglbys to zrobic ale podejrzewam ze naklad ktory musialbys w to wlozyc bylby pare razy wiekszy niz tworzenie osobnych widokow :). No ale haslo startowe znasz to mozesz sie za to zabierac ;)

0

Dziękuję za odpowiedzi w tym wątku. Z racji tego, że dopiero uczę się tej technologii - byłbym wdzięczny za podpowiedzi jak powinienem to zrobić.

0

Jak zaczynasz sie uczyc to nie powinienes tego robic.... To zadanie za ktore mozna sie brac dopiero jak masz znacznie wiecej doswiadczenia. Jesli nie znasz dobrze refleksji nie licz ze to zrobisz sensownie.

2

Witam,

Może zdradź nam po co Ci kilka ViewModel-i w jednym widoku, nie możesz przypisywać poszczególnych ViewModel-i do UserControl który używasz na swoim widoku?

Pozdrawiam,

mr-owl

0
mr-owl napisał(a):

Witam,

Może zdradź nam po co Ci kilka ViewModel-i w jednym widoku, nie możesz przypisywać poszczególnych ViewModel-i do UserControl który używasz na swoim widoku?

Pozdrawiam,

mr-owl

Dziękuję za jedyną pomagającą odpowiedź w tym wątku. Nie mam na tyle doświadczenia by wiedzieć czy rozwiązanie jeden widok-wiele VM jest poprawnym rozwiązaniem, i stąd moje pytanie czy jest to zgodne ze sztuką.
Jeśli UserControl<->VM jest poprawnym rozwiązaniem, w takim razie rozumiem że posiadanie wielu UserControl na jednym widoku jest ok?

Pozdrawiam

2

Witam,

Jak najbardziej, robisz wszystko co służy do poprawnego wyświetlania danych na UserControl za pomocą MVVM a później używasz tego w widoku tam gdzie Ci potrzeba.

Pozdrawiam,

mr-owl

0

Nie rozumiem jaki masz problem, żeby użyć dwóch widoków jako partial view jak w ASP https://docs.microsoft.com/en-us/aspnet/core/mvc/views/partial

1 użytkowników online, w tym zalogowanych: 0, gości: 1