2011-05-31 11 views
6

De forma predeterminada cuando usa "ActivateItem (new Control());" su control se carga en un ContentControl que con el nombre ActiveItem, por ejemplo. . Si tengo múltiples controles de contenido en mi página, ¿cómo cargaría los controles en ellos mientras conservaba la capacidad de usar la funcionalidad predeterminada de poder cargar controles en el control de elementos activos?¿Cómo puedo cargar controles en diferentes ContentControls de un Shell usando CaliburnMicro

por ejemplo, quiero tener un control de inicio de sesión para ser cargado en el Login ContentControl, y cuando un usuario inicia sesión con éxito, quiero que se cargue un nuevo control en ActiveItem ContentControl.

Gracias por adelantado.

Respuesta

0

Deberías echarle un vistazo a los Conductores de pantalla. Ver here.

6

Si el ViewModel que se vincula a la interfaz de usuario contiene una propiedad con el nombre que coincide con un control de contenido. La vista de control de contenido se resuelve automáticamente en la vista admitida por esta propiedad, siempre que esta propiedad en sí sea un tipo de modelo de vista y se haya registrado con el contenedor Ioc. Por ejemplo

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

Si hay una propiedad LoginStatus en el principal modelo de vista (LoginStatus misma propiedad es un modelo de vista). El control de contenido se renderizaría correctamente con la vista apropiada.

Cuestiones relacionadas