我已经为 WinUI 添加了 nuget 包,并在 App.xaml 中添加了合并的字典,并且所有不受Style
指令影响的控件都会出现新样式。但是,简单使用Style
会导致Style
的设置器应用于原始 UWP 模板,而不是 WinUI 模板。例如,此代码:
<Grid.Resources>
<Style TargetType="ComboBox">
<Setter Property="Width" Value="160"/>
</Style>
</Grid.Resources>
将导致组合框显示时没有角半径,并且与未应用上述内容相比,边框更粗。
有什么解决方案吗?
若要重写 WinUI 样式的属性,可以使用基于样式。
因此,在您的特定情况下,您可以执行以下操作:
<Style TargetType="ComboBox" BasedOn="{StaticResource DefaultComboBoxStyle}">
<Setter Property="Width" Value="160"/>
</Style>
这样,就可以创建一个基于 WinUI 样式(称为 DefaultComboBoxStyle(的新样式,您可以在其中重写宽度属性。