Сделал в Blazor приложении смену тем. Вот такого плана.
<HeadContent>
@foreach (var item in ThemeItem.Create(_appStateService.AppState.CurrentThemeName).StylesheetLinkUrl)
{
<link href="@item" rel="preload" />
}
</HeadContent>
Но столкнулся с неприятным моментом, что когда меняется тема и одни стили заменяются другими, то сначала на всех элементах сбрасываются стили, а потом применяются другие.
Если в теме только 1 файл, то все нормально. Если больше - начинается это неприятное мигание на элементах.
Также пробовал менять тему через чистый JS, просто добавлять элементы link в head, эффект тот же самый.
Если что - элементы, которые портятся - контролы DevExpress для Blazor.