Prism – jak działa AutowireViewModel

AutowireViewModel  jest dołączaną właściwością (ang. Attached Property) używaną przez framework Prism w celu automatycznego wiązania widoków z odpowiadającymi im modelami widoku. Pozwala ona w prosty sposób ustawić BindingContext bez konieczności jawnej specyfikacji jego typu.

Jak działa AutowireViewModel?

AutowireViewModel jest częścią ViewModelLocatora i zdefiniowana jest w następujący sposób:

W momencie ustawienia wartości AutowireViewModel na true wywołana zostaje metoda AutoWireViewModelChanged z klasy ViewModelLocationProvider:

AutoWireViewModelChanged sprawdza czy dla zadanego widoku została zarejestrowana jawnie klasa powiązanego modelu widoku. Jeżeli typ nie został przez użytkownika zarejestrowany to podjęta zostaje próba odnalezienia ViewModelu przy pomocy konwencji nazw:

Następnie wywołana zostaje akcja Bind przekazana do funkcji:

Znaleziony ViewModel ustawiony zostaje jako BindingContext dla widoku na którym użyto AutowireViewModel.

Facebooktwitter

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *