Blazor - el cambio de contenedores lay-out cuando se encuentra un componente específico (personalizado)

votos
0

Esta es quizás una pregunta extraña, y podría ser excesiva para hacerlo de esta manera, sino como un recién llegado a Blazortengo curiosidad si es posible.

¿Puedo cambiar el estilo de mi elemento div dependiendo de los componentes específicos dentro de ese elemento div?

Así que para explicarlo un poco más, he creado 2 navbarsque puedo poner en práctica, una horizontal navbary una vertical navbar. Estos encargo navbar componentsse puede añadir en el MainLayout.razorarchivo de este modo:

<HorizontalNavbar></HorizontalNavbar>

<div class=main>
    <h1>my testing title</h1>
</div>

La principal lay-out se importó en todas mis páginas Blazor (al igual que por defecto), en el _Host.cshtmlarchivo de la <app>se añade div / clase. Quiero cambiar el estilo de la aplicación flex-direction: column;si el archivo principal diseño contiene un HorizontalNavbarcomponente, y flex-direction: row;si el principal diseño contiene el VerticalNavbar. Es esto de cualquier manera posible?

Por supuesto que podría simplemente definir una clase de contenedor, con el buen flex-direcciones, dentro de cada uno de los componentes navbar, pero luego me gustaría tener algo como:

<HorizontalNavbar>
   All my inner content
</HorizontalNavbar>

El cual no se ve muy grande. ¿Alguna idea para lograr esto? Tal vez algo como esto: https://blazorfiddle.com/s/385py5jb pero luego con el evento / gatillo de encontrar una clase específica de control / css?

Publicado el 13/01/2020 a las 21:59
fuente por usuario
En otros idiomas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more