Как установить цвет фона всего элемента управления Expander WinUI3?

Я хочу установить цвет фона элемента управления Expander в моем приложении WinUI3. При установке для свойства фона определенного цвета будет установлен только цвет развернутой панели.

<Grid Background = "CadetBlue">
<StackPanel Orientation = "Vertical" HorizontalAlignment = "Center" VerticalAlignment = "Top">
    <Expander Header = "header" Content = "content" Background = "Black"/>
    <Expander Header = "header" Content = "content"/>
</StackPanel>
</Grid>

Я также пытался установить свойство Header таким образом, но это тоже не увенчалось успехом.

<Expander>
    <Expander.Header>
        <Border Background = "SkyBlue">
            <TextBlock Text = "HEADER" />
        </Border>
    </Expander.Header>
    <TextBlock Text = "CONTENT" />
</Expander>

Я также пытался поместить его в рамку, но тогда цветные области были больше, чем контрольные:

<Border HorizontalAlignment = "Left" VerticalAlignment = "Center" Background = "SkyBlue" BorderBrush = "HotPink" BorderThickness = "1" CornerRadius = "{StaticResource ControlCornerRadius}">
<Expander Content = "CONTENT" Header = "HEADER" />

Как я могу правильно установить цвет фона заголовка или всего элемента управления?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
150
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Благодаря исходникам winui 3 вы можете увидеть, как создавался и работает экспандер... Здесь вы можете найти все ресурсы, используемые для фона, чтобы вы могли копировать, вставлять и перезаписывать их. Или вы можете скопировать и вставить стили и изменить их.

https://github.com/microsoft/microsoft-ui-xaml/blob/winui3/release/1.5-stable/controls/dev/Expander/Expander_themeresources.xaml

Ответ принят как подходящий

@Katana предоставила вам код ресурса Expander. Найдите ExpanderHeaderBackground в коде ресурса, а затем перепишите цвет его кисти в Expander.Resource. Если вы не знаете, как его использовать, вы можете обратиться к следующему коду.

   <Grid Background = "CadetBlue">
       <StackPanel Orientation = "Vertical" HorizontalAlignment = "Center" VerticalAlignment = "Top">
           <Expander Header = "header" Content = "content" Background = "Black">
               <Expander.Resources>
                   <SolidColorBrush x:Key = "customExpanderHeaderBackgroundColor" Color = "green"/>
                   <StaticResource x:Key = "ExpanderHeaderBackground" ResourceKey = "customExpanderHeaderBackgroundColor" />
               </Expander.Resources>
           </Expander>
           <Expander Header = "header" Content = "content"/>
       </StackPanel>
   </Grid>

Другие вопросы по теме