【发布时间】:2024-01-14 02:41:01
【问题描述】:
我制作了一个自定义组合框样式,其中边框环绕标题以及组合框内容本身。它按预期工作正常,标题显示正常,但随后我打开“Fluent xaml 主题编辑器”(来自商店的 uwp 主题生成器)并将其保留为默认并将主题导出到我的“app.xaml”中,现在标题有消失了。下面是重现问题的链接,只需打开项目并运行它,您将看到在浅色和深色主题上,组合框上都没有标题。
重现问题项目:https://github.com/touseefbsb/ComboBoxThemeIssue
最小目标:1803
目标 SDK:1809/1903(1809 仅在深色主题中显示标题,1903 在两个主题中均不显示标题)
输出
代码
主页
<Pivot>
<PivotItem Header="Dropdowns">
<PivotItem.Resources>
<DataTemplate x:Key="dropdowns">
<StackPanel Background="{ThemeResource SystemAltHighColor}">
<ComboBox Header="Header">
<ComboBoxItem>123</ComboBoxItem>
<ComboBoxItem>456</ComboBoxItem>
<ComboBoxItem>789</ComboBoxItem>
</ComboBox>
</StackPanel>
</DataTemplate>
</PivotItem.Resources>
<Pivot>
<PivotItem Header="Light" RequestedTheme="Light">
<ContentControl ContentTemplate="{StaticResource dropdowns}" />
</PivotItem>
<PivotItem Header="Dark" RequestedTheme="Dark">
<ContentControl ContentTemplate="{StaticResource dropdowns}" />
</PivotItem>
</Pivot>
</PivotItem>
</Pivot>
App.xaml
更新 1
经过进一步调查,我发现从 colorpelleteResources 标记中删除“AltMediumLow”可以解决问题,但这很奇怪,因为它不应该被删除,因为它是 fluent 主题编辑器默认生成的主题的一部分。
【问题讨论】: