2011-05-31 30 views
6

Domyślnie podczas korzystania z "ActivateItem (new Control());" twoja kontrola jest ładowana do ContentControl, który ma nazwę ActiveItem, na przykład. . Jeśli mam wiele elementów sterujących treścią na mojej stronie, to w jaki sposób załadowałem do nich elementy sterujące, zachowując jednocześnie możliwość korzystania z domyślnej funkcjonalności możliwości ładowania elementów sterujących do aktywnego elementu sterującego.Jak ładować elementy sterujące w różnych obiektach ContentControl powłoki, używając CaliburnMicro

Na przykład chcę mieć kontrolę logowania, która ma być załadowana do modułu Login ContentControl, a kiedy użytkownik pomyślnie się zaloguje, chcę załadować nową kontrolkę do ActiveItem ContentControl.

Thanx z góry.

Odpowiedz

0

Powinieneś rzucić okiem na ekrany przewodników. Zobacz here.

6

Jeśli ViewModel, który zostanie powiązany z interfejsem użytkownika, zawiera właściwość o nazwie pasującej do formantu treści. Widok Kontrola treści automatycznie rozwiązuje widok obsługiwany przez tę właściwość, pod warunkiem, że ta własność jest typem ViewModel i została zarejestrowana w kontenerze Ioc. Na przykład

<ContentControl x:Name="LoginStatus"></ContentControl> 

Jeśli jest nieruchomość LoginStatus na głównej ViewModel (mienia samego LoginStatus jest ViewModel). Kontrola treści byłaby poprawnie renderowana za pomocą odpowiedniego widoku.