2013-07-11 14 views
6

Próbuję dowiedzieć się, dlaczego dostaję komunikat o błędzie, że nie mogę znaleźć odpowiedniego ViewModel, gdy mam uruchomioną aplikację na iOS.MVVMCross Jak ten widok jest połączony z ViewModel?

Mam pytanie, kiedy patrzę na to example Nie rozumiem, gdzie MainMenuView jest związany z MainMenuViewModel.

Czy ktoś może mi odpowiedzieć?

Dzięki,

PkL728

Odpowiedz

7

są związani nazw klas: dla XXXView należy odzwierciedlał XXXViewModel

+0

W moim projekcie iOS mam klasę ProductsView co rozszerza MvxTableViewController, aw moim głównym projekcie mam klasę ProductsViewModel. Po uruchomieniu mojego programu pojawia się ten błąd: Nie można załadować ViewModel dla typu LoginProductsMVVM.Core.ViewModels.ProductsViewModel z lokalizatora MvxDefaultViewModelLocator ... Czy mam ten zestaw źle? – PkL728

+0

Ok ... więc mój błąd był związany z wywoływaną metodą w konstruktorze ProductsViewModel, która powodowała błąd. Nie jest to przydatny komunikat o błędzie !! Dzięki, Roman! – PkL728

+2

Upewnij się, że masz włączone śledzenie - http://stackoverflow.com/questions/17233922/mvvmcross-mvx-trace-usage/17234083#17234083 - wtedy zobaczysz więcej "nieużytecznego" komunikatu o błędzie. – Stuart

1

tylko dodać do odpowiedzi: dokładnie sprawdzić nazwy widoków po zmianie nazwy (nawet zmiana nazwy Resharpera nie jest idealna). Zużyłem kilkadziesiąt minut (i puszkę po piwie), łapiąc podobny błąd MvvmCrossa: Could not find view for %ViewModelName%.

0

Dostaję to do projektu, który właśnie uaktualniłem do MvvmCross 4. Nie mam dużego doświadczenia z MvvmCross, a projekt nie był utrzymywany przez kilka lat, więc możliwe jest coś innego jest źle.

Skończyłem na twardym kodowaniu mapowań w Setup :: InitializeViewLookup, ponieważ nie mam już czasu na marnowanie go.

1

Dla każdego, kto kończy tutaj, mając ten sam problem, który miałem. Otrzymałem ten błąd w projekcie Android, ponieważ mój (poprawnie nazwany) widok rozszerzał działanie, a nie MvxActivity (dzieje się tak łatwo, gdy używasz funkcji "Dodaj aktywność Androida" Xamarin Studio)

Powiązane problemy