WinUI UWP - 如何创建继承自它的自定义样式?



我已经为 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(的新样式,您可以在其中重写宽度属性。

最新更新