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), в котором вы переопределяете свойство ширины.

Другие вопросы по тегам