WinUI UWP - как создать собственный стиль, наследуемый от него?
Я добавил пакет nuget для WinUI и объединенный словарь в App.xaml, и новый стиль появляется для всех элементов управления, на которые не влияет Style
директивы. Однако простое использованиеStyle
вызывает Сеттеры Style
для применения к исходным шаблонам UWP, а не к шаблонам WinUI. Например этот код:
<Grid.Resources>
<Style TargetType="ComboBox">
<Setter Property="Width" Value="160"/>
</Style>
</Grid.Resources>
приведет к тому, что ComboBox появятся без радиуса угла и с более толстыми границами, чем если бы вышеперечисленное не применялось.
Любое решение для этого?
1 ответ
Чтобы переопределить свойства стиля WinUI, вы можете использовать стили на основе.
Итак, в вашем конкретном случае вы можете сделать следующее:
<Style TargetType="ComboBox" BasedOn="{StaticResource DefaultComboBoxStyle}">
<Setter Property="Width" Value="160"/>
</Style>
Таким образом, вы создаете новый стиль, основанный на стиле WinUI (называемый DefaultComboBoxStyle), в котором вы переопределяете свойство ширины.