Blazor - контейнер изменения планировки, когда конкретный компонент (пользовательский) найден

голоса
0

Это, пожалуй , странный вопрос, и это может быть излишним , чтобы сделать это таким образом, но как новый встречной к Blazorмне интересно , если это возможно.

Могу ли я изменить стиль моего сНу элемента в зависимости от конкретных компонентов в пределах этого сНу элемента?

Таким образом , чтобы объяснить это немного больше, я создал 2 , navbarsкоторые можно реализовать, horizontal navbarи vertical navbar. Эти пользовательские navbar componentsмогут быть добавлены в MainLayout.razorфайл следующим образом:

<HorizontalNavbar></HorizontalNavbar>

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

Основная планировка импортируется во всех моих страницах Blazor (так же , как по умолчанию), в _Host.cshtmlфайле <app>добавляется DIV / класс. Я хочу , чтобы изменить стиль приложения , чтобы , flex-direction: column;если файл основного макета содержит HorizontalNavbarкомпонент, и flex-direction: row;если основной макет содержит VerticalNavbar. Является ли это в любом случае возможно?

Конечно, я мог бы просто определить класс-оболочку, с соответствующими Flex-направлениях, внутри каждого из компонентов NavBar, но тогда я хотел бы получить что-то вроде:

<HorizontalNavbar>
   All my inner content
</HorizontalNavbar>

Который не выглядит очень здорово. Любые идеи для достижения этой цели? Возможно , что - то вроде этого: https://blazorfiddle.com/s/385py5jb , но затем события / триггера найти класс управления конкретным / CSS?

Задан 13/01/2020 в 21:59
источник пользователем
На других языках...                            

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