2011-05-31 6 views
6

Per impostazione predefinita quando si utilizza "ActivateItem (new Control());" il tuo controllo viene caricato in un ContentControl che con il nome ActiveItem, per esempio. . Se ho più controlli di contenuto sulla mia pagina, come potrei caricare i controlli su di essi pur mantenendo la possibilità di utilizzare la funzionalità predefinita di poter caricare i controlli nel controllo attivo dell'oggetto.Come caricare i controlli in diversi ContentControls di una shell utilizzando CaliburnMicro

ad esempio Voglio avere un controllo di accesso per essere caricato nel Login ContentControl, e quando un utente accede correttamente Voglio un nuovo controllo da caricare in ActiveItem ContentControl.

Grazie in anticipo.

risposta

0

Si dovrebbe dare un'occhiata a Conduttori schermo. Vedi here.

6

Se il ViewModel che viene associato all'interfaccia utente contiene una proprietà con il nome corrispondente a un controllo contenuto. La vista Controllo contenuto viene automaticamente risolta con la vista supportata da questa proprietà, a condizione che questa proprietà sia di tipo ViewModel e sia stata riattivata con il contenitore Ioc. Per esempio

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

Se c'è una proprietà LoginStatus sulla principale ViewModel (LoginStatus struttura in sé è un ViewModel). Il controllo contenuto verrebbe correttamente visualizzato con la visualizzazione appropriata.

Problemi correlati