В HeaderedComboBoxStyle в App.xaml созданный редактор темы Fluent xaml определяет только две строки для таблицы и позволяет границе с именем Background занимать две строки, поэтому заголовок Border будет скрыт. Кроме того, он также устанавливает видимость заголовка как Свернутый , чтобы скрыть его. Но в стиле ComboBox по умолчанию он устанавливает три строки, помещает заголовок в первую строку, а Boder - во вторую и третью строку. Таким образом, вы можете изменить его, как стиль по умолчанию, например:
App.xaml:
......
<ControlTemplate TargetType="ComboBox">
<Grid x:Name="LayoutRoot">
......
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="32" />
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="HeaderContentPresenter"
Margin="{ThemeResource ComboBoxHeaderThemeMargin}"
x:DeferLoadStrategy="Lazy"
Content="{TemplateBinding Header}"
ContentTemplate="{TemplateBinding HeaderTemplate}"
FlowDirection="{TemplateBinding FlowDirection}"
FontWeight="{ThemeResource ComboBoxHeaderThemeFontWeight}"
Visibility="Visible" />
<Border x:Name="Background"
Grid.RowSpan="2"
Grid.ColumnSpan="2"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Control.IsTemplateFocusTarget="True" />
......
</Grid>
</ControlTemplate>
Обновление:
На основе HeaderedComboBoxStyle в App.xaml фон рамки с именем «Background» templateBinding Background, а свойство Background связывается с ComboBoxBackground.
Выбрав ComboBoxBackground и нажмите F12, вы перейдете в файл generi c .xaml , затем вы увидите, что ComboBoxBackground связан с SystemControlBackgroundAltMediumLowBru sh и фактически с цветом SystemControlBowgroundA sh равно SystemAltMediumLowColor's. И в этом случае AltMediumLow из colorPelleteResources представляет SystemAltMediumLowColor. Таким образом, на самом деле свойство Background связывается с AltMediumLow.
Когда AltMediumLow устанавливает белый цвет в теме «Свет», фон границы становится белым и закрывает заголовок, поэтому заголовок не может отображаться. Вы можете удалить Фон Границы или установить его как Прозрачный, не удаляя AltMediumLow.
А когда вы удаляете «AltMediumLow» из тега colorpelleteResources, цвет AltMediumLow будет установлен Прозрачным по умолчанию, поэтому Фон Границы Также прозрачно, заголовок будет отображаться.
<Border
x:Name="Background"
Grid.RowSpan="2"
Grid.ColumnSpan="2"
Background="Transparent"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Control.IsTemplateFocusTarget="True" />