feat: enhance button styles with AI Colorful classes and update ButtonDemo layout.

This commit is contained in:
Zhang Dian
2025-11-09 11:26:49 +08:00
parent 301a4e954c
commit 445b31893e
12 changed files with 948 additions and 405 deletions

View File

@@ -1,11 +1,97 @@
<ResourceDictionary
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- Button Theme Key: Light, Solid, Outline, Borderless; Default is Light -->
<!-- Button Default Classes: Primary, Secondary, Tertiary, Success, Warning, Danger; Default is Primary -->
<!-- State: default, pointerover, pressed, disabled -->
<!-- Theme: Light, Solid, Outline, Borderless; Default is Light -->
<!-- Color Classes: Primary, Secondary, Tertiary, Success, Warning, Danger; Default is Primary -->
<!-- Size Classes: Large, Small -->
<!-- AI style Classes: Colorful -->
<!-- PseudoClasses: :pointerover, :pressed, :disabled -->
<Design.PreviewWith>
<StackPanel Margin="16" Spacing="16">
<WrapPanel ItemSpacing="16">
<Button Content="Default" />
<Button Content="Primary" Classes="Primary" />
<Button Content="Secondary" Classes="Secondary" />
<Button Content="Tertiary" Classes="Tertiary" />
<Button Content="Success" Classes="Success" />
<Button Content="Warning" Classes="Warning" />
<Button Content="Danger" Classes="Danger" />
<Button Content="Disabled" Classes="Danger" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<Button Content="Default" Theme="{DynamicResource SolidButton}" />
<Button Content="Primary" Classes="Primary" Theme="{DynamicResource SolidButton}" />
<Button Content="Secondary" Classes="Secondary" Theme="{DynamicResource SolidButton}" />
<Button Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource SolidButton}" />
<Button Content="Success" Classes="Success" Theme="{DynamicResource SolidButton}" />
<Button Content="Warning" Classes="Warning" Theme="{DynamicResource SolidButton}" />
<Button Content="Danger" Classes="Danger" Theme="{DynamicResource SolidButton}" />
<Button Content="Disabled" Classes="Danger" Theme="{DynamicResource SolidButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<Button Content="Default" Theme="{DynamicResource OutlineButton}" />
<Button Content="Primary" Classes="Primary" Theme="{DynamicResource OutlineButton}" />
<Button Content="Secondary" Classes="Secondary" Theme="{DynamicResource OutlineButton}" />
<Button Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource OutlineButton}" />
<Button Content="Success" Classes="Success" Theme="{DynamicResource OutlineButton}" />
<Button Content="Warning" Classes="Warning" Theme="{DynamicResource OutlineButton}" />
<Button Content="Danger" Classes="Danger" Theme="{DynamicResource OutlineButton}" />
<Button Content="Disabled" Classes="Danger" Theme="{DynamicResource OutlineButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<Button Content="Default" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Primary" Classes="Primary" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Secondary" Classes="Secondary" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Success" Classes="Success" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Warning" Classes="Warning" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Danger" Classes="Danger" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Disabled" Classes="Danger" Theme="{DynamicResource BorderlessButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<Button Content="Default" Classes="Colorful" />
<Button Content="Primary" Classes="Colorful Primary" />
<Button Content="Secondary" Classes="Colorful Secondary" />
<Button Content="Tertiary" Classes="Colorful Tertiary" />
<Button Content="Success" Classes="Colorful Success" />
<Button Content="Warning" Classes="Colorful Warning" />
<Button Content="Danger" Classes="Colorful Danger" />
<Button Content="Disabled" Classes="Colorful Primary" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<Button Content="Default" Classes="Colorful" Theme="{DynamicResource SolidButton}" />
<Button Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource SolidButton}" />
<Button Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource SolidButton}" />
<Button Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource SolidButton}" />
<Button Content="Success" Classes="Colorful Success" Theme="{DynamicResource SolidButton}" />
<Button Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource SolidButton}" />
<Button Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource SolidButton}" />
<Button Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource SolidButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<Button Content="Default" Classes="Colorful" Theme="{DynamicResource OutlineButton}" />
<Button Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource OutlineButton}" />
<Button Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource OutlineButton}" />
<Button Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource OutlineButton}" />
<Button Content="Success" Classes="Colorful Success" Theme="{DynamicResource OutlineButton}" />
<Button Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource OutlineButton}" />
<Button Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource OutlineButton}" />
<Button Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource OutlineButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<Button Content="Default" Classes="Colorful" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Success" Classes="Colorful Success" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource BorderlessButton}" />
<Button Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource BorderlessButton}" IsEnabled="False" />
</WrapPanel>
</StackPanel>
</Design.PreviewWith>
<!-- Button Light -->
<ControlTheme x:Key="{x:Type Button}" TargetType="Button">
<Setter Property="Padding" Value="{DynamicResource ButtonDefaultPadding}" />
<Setter Property="MinHeight" Value="{DynamicResource ButtonDefaultHeight}" />
@@ -68,6 +154,12 @@
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDangerForeground}" />
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultColorfulPrimaryForeground}" />
</Style>
</Style>
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonDefaultPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDefaultPointeroverBorderBrush}" />
@@ -209,6 +301,39 @@
</Style>
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary">
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
</Style>
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
</Style>
</Style>
<Style Selector="^.Tertiary">
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidColorfulTertiaryForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
</Style>
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
</Style>
</Style>
</Style>
<Style Selector="^:disabled /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidDisabledForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidDisabledBackground}" />
@@ -241,6 +366,14 @@
<Style Selector="^.Danger /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineDangerBorderBrush}" />
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonOutlineColorfulPrimaryForeground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineColorfulPrimaryBorderBrush}" />
</Style>
</Style>
<Style Selector="^:disabled /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonOutlineBackground}" />
@@ -261,7 +394,6 @@
<Setter Property="Background" Value="{DynamicResource ButtonBorderlessBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderlessBorderBrush}" />
</Style>
</ControlTheme>
<ControlTheme x:Key="InnerIconButton" TargetType="Button">

View File

@@ -2,16 +2,90 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Design.PreviewWith>
<StackPanel Margin="20">
<DropDownButton Content="Button" />
<DropDownButton Classes="Primary" Content="Button" />
<DropDownButton Classes="Secondary" Content="Button" />
<DropDownButton IsEnabled="False" Classes="Tertiary" Content="Button" />
<DropDownButton Theme="{DynamicResource SolidDropDownButton}" Classes="Success" Content="Button" />
<DropDownButton Theme="{DynamicResource OutlineDropDownButton}" Classes="Warning" Content="Button" />
<DropDownButton Theme="{DynamicResource BorderlessDropDownButton}" Classes="Danger" Content="Button" />
<StackPanel Margin="16" Spacing="16">
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" />
<DropDownButton Content="Primary" Classes="Primary" />
<DropDownButton Content="Secondary" Classes="Secondary" />
<DropDownButton Content="Tertiary" Classes="Tertiary" />
<DropDownButton Content="Success" Classes="Success" />
<DropDownButton Content="Warning" Classes="Warning" />
<DropDownButton Content="Danger" Classes="Danger" />
<DropDownButton Content="Disabled" Classes="Danger" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Primary" Classes="Primary" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Secondary" Classes="Secondary" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Success" Classes="Success" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Warning" Classes="Warning" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Danger" Classes="Danger" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Disabled" Classes="Danger" Theme="{DynamicResource SolidDropDownButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Primary" Classes="Primary" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Secondary" Classes="Secondary" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Success" Classes="Success" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Warning" Classes="Warning" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Danger" Classes="Danger" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Disabled" Classes="Danger" Theme="{DynamicResource OutlineDropDownButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Primary" Classes="Primary" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Secondary" Classes="Secondary" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Success" Classes="Success" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Warning" Classes="Warning" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Danger" Classes="Danger" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Disabled" Classes="Danger" Theme="{DynamicResource BorderlessDropDownButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" Classes="Colorful" />
<DropDownButton Content="Primary" Classes="Colorful Primary" />
<DropDownButton Content="Secondary" Classes="Colorful Secondary" />
<DropDownButton Content="Tertiary" Classes="Colorful Tertiary" />
<DropDownButton Content="Success" Classes="Colorful Success" />
<DropDownButton Content="Warning" Classes="Colorful Warning" />
<DropDownButton Content="Danger" Classes="Colorful Danger" />
<DropDownButton Content="Disabled" Classes="Colorful Primary" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" Classes="Colorful" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Success" Classes="Colorful Success" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource SolidDropDownButton}" />
<DropDownButton Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource SolidDropDownButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" Classes="Colorful" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Success" Classes="Colorful Success" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource OutlineDropDownButton}" />
<DropDownButton Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource OutlineDropDownButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<DropDownButton Content="Default" Classes="Colorful" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Success" Classes="Colorful Success" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource BorderlessDropDownButton}" />
<DropDownButton Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource BorderlessDropDownButton}" IsEnabled="False" />
</WrapPanel>
</StackPanel>
</Design.PreviewWith>
<ControlTheme x:Key="{x:Type DropDownButton}" TargetType="DropDownButton">
<Setter Property="Padding" Value="{DynamicResource ButtonDefaultPadding}" />
<Setter Property="MinHeight" Value="{DynamicResource ButtonDefaultHeight}" />
@@ -36,13 +110,12 @@
Padding="{TemplateBinding Padding}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}">
<DockPanel>
<DockPanel HorizontalSpacing="8">
<PathIcon
Name="DropDownGlyph"
DockPanel.Dock="Right"
Theme="{DynamicResource InnerPathIcon}"
HorizontalAlignment="Right"
Margin="8,0,0,0"
Data="{DynamicResource DropDownButtonIconGlyph}"
Foreground="{Binding #PART_ContentPresenter.Foreground}"
IsHitTestVisible="False"
@@ -84,6 +157,12 @@
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDangerForeground}" />
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultColorfulPrimaryForeground}" />
</Style>
</Style>
<Style Selector="^:pointerover /template/ Border#PART_Background">
<Setter Property="Background" Value="{DynamicResource ButtonDefaultPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDefaultPointeroverBorderBrush}" />
@@ -243,6 +322,40 @@
</Style>
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary">
<Style Selector="^ /template/ Border#PART_Background">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
</Style>
<Style Selector="^:pointerover /template/ Border#PART_Background">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed /template/ Border#PART_Background">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
</Style>
</Style>
<Style Selector="^.Tertiary">
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidColorfulTertiaryForeground}" />
</Style>
<Style Selector="^ /template/ Border#PART_Background">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
</Style>
<Style Selector="^:pointerover /template/ Border#PART_Background">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed /template/ Border#PART_Background">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
</Style>
</Style>
</Style>
<Style Selector="^:disabled /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidDisabledForeground}" />
</Style>
@@ -277,6 +390,16 @@
<Style Selector="^.Danger /template/ Border#PART_Background">
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineDangerBorderBrush}" />
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary">
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonOutlineColorfulPrimaryForeground}" />
</Style>
<Style Selector="^ /template/ Border#PART_Background">
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineColorfulPrimaryBorderBrush}" />
</Style>
</Style>
</Style>
<Style Selector="^:disabled /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" />
</Style>

View File

@@ -2,22 +2,89 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Design.PreviewWith>
<StackPanel Width="500" Height="500" Margin="20" Spacing="8">
<SplitButton
Theme="{DynamicResource SolidSplitButton}"
Content="Hello" />
<ToggleSplitButton
IsChecked="True"
HorizontalAlignment="Stretch"
Content="Hello" />
<SplitButton
Theme="{DynamicResource SolidSplitButton}" />
<ToggleSplitButton
IsChecked="True"
HorizontalAlignment="Stretch" />
<StackPanel Margin="16" Spacing="16">
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" />
<SplitButton Content="Primary" Classes="Primary" />
<SplitButton Content="Secondary" Classes="Secondary" />
<SplitButton Content="Tertiary" Classes="Tertiary" />
<SplitButton Content="Success" Classes="Success" />
<SplitButton Content="Warning" Classes="Warning" />
<SplitButton Content="Danger" Classes="Danger" />
<SplitButton Content="Disabled" Classes="Danger" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Primary" Classes="Primary" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Secondary" Classes="Secondary" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Success" Classes="Success" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Warning" Classes="Warning" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Danger" Classes="Danger" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Disabled" Classes="Danger" Theme="{DynamicResource SolidSplitButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Primary" Classes="Primary" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Secondary" Classes="Secondary" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Success" Classes="Success" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Warning" Classes="Warning" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Danger" Classes="Danger" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Disabled" Classes="Danger" Theme="{DynamicResource OutlineSplitButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Primary" Classes="Primary" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Secondary" Classes="Secondary" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Tertiary" Classes="Tertiary" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Success" Classes="Success" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Warning" Classes="Warning" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Danger" Classes="Danger" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Disabled" Classes="Danger" Theme="{DynamicResource BorderlessSplitButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" Classes="Colorful" />
<SplitButton Content="Primary" Classes="Colorful Primary" />
<SplitButton Content="Secondary" Classes="Colorful Secondary" />
<SplitButton Content="Tertiary" Classes="Colorful Tertiary" />
<SplitButton Content="Success" Classes="Colorful Success" />
<SplitButton Content="Warning" Classes="Colorful Warning" />
<SplitButton Content="Danger" Classes="Colorful Danger" />
<SplitButton Content="Disabled" Classes="Colorful Primary" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" Classes="Colorful" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Success" Classes="Colorful Success" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource SolidSplitButton}" />
<SplitButton Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource SolidSplitButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" Classes="Colorful" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Success" Classes="Colorful Success" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource OutlineSplitButton}" />
<SplitButton Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource OutlineSplitButton}" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16">
<SplitButton Content="Default" Classes="Colorful" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Primary" Classes="Colorful Primary" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Secondary" Classes="Colorful Secondary" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Tertiary" Classes="Colorful Tertiary" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Success" Classes="Colorful Success" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Warning" Classes="Colorful Warning" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Danger" Classes="Colorful Danger" Theme="{DynamicResource BorderlessSplitButton}" />
<SplitButton Content="Disabled" Classes="Colorful Primary" Theme="{DynamicResource BorderlessSplitButton}" IsEnabled="False" />
</WrapPanel>
</StackPanel>
</Design.PreviewWith>
<ControlTheme x:Key="SemiSplitButtonElement" TargetType="Button">
<Setter Property="Padding" Value="{DynamicResource ButtonDefaultPadding}" />
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultPrimaryForeground}" />
@@ -148,6 +215,12 @@
<Style Selector="^.Danger /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDangerForeground}" />
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultColorfulPrimaryForeground}" />
</Style>
</Style>
<Style Selector="^:checked">
<Style Selector="^ /template/ Button">
<Setter Property="FocusAdorner">
@@ -220,6 +293,39 @@
<Setter Property="Background" Value="{DynamicResource ButtonSolidDangerPressedBackground}" />
</Style>
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary">
<Style Selector="^ /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
<Style Selector="^:pointerover">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
</Style>
</Style>
</Style>
<Style Selector="^.Tertiary">
<Style Selector="^ /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidColorfulTertiaryForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
<Style Selector="^:pointerover">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
</Style>
</Style>
</Style>
</Style>
</Style>
<Style Selector="^.Large /template/ Button#PART_PrimaryButton">
<Setter Property="Padding" Value="{DynamicResource ButtonLargePadding}" />
@@ -236,6 +342,7 @@
<Style Selector="^:disabled /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonDefaultBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDefaultDisabledBorderBrush}" />
</Style>
<!-- only for ToggleSplitButton -->
<Style Selector="^:checked:disabled /template/ Button">
@@ -327,9 +434,43 @@
</Style>
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary">
<Style Selector="^ /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
<Style Selector="^:pointerover">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
</Style>
</Style>
</Style>
<Style Selector="^.Tertiary">
<Style Selector="^ /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidColorfulTertiaryForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
<Style Selector="^:pointerover">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
</Style>
</Style>
</Style>
</Style>
<Style Selector="^:disabled /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidDisabledForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidDisabledBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidDisabledBorderBrush}" />
</Style>
</ControlTheme>
@@ -356,6 +497,14 @@
<Style Selector="^.Danger /template/ Button">
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineDangerBorderBrush}" />
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonOutlineColorfulPrimaryForeground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineColorfulPrimaryBorderBrush}" />
</Style>
</Style>
<Style Selector="^:disabled /template/ Button">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonOutlineBackground}" />

View File

@@ -2,20 +2,67 @@
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Design.PreviewWith>
<StackPanel Margin="20">
<ToggleButton Classes="Primary">Toggle</ToggleButton>
<ToggleButton Classes="Secondary">Toggle</ToggleButton>
<ToggleButton Classes="Tertiary">Toggle</ToggleButton>
<ToggleButton Classes="Success">Toggle</ToggleButton>
<ToggleButton Classes="Warning">Toggle</ToggleButton>
<ToggleButton Classes="Danger">Toggle</ToggleButton>
<ToggleButton Classes="Primary" IsThreeState="True">Toggle 3</ToggleButton>
<ToggleButton Classes="Secondary" IsThreeState="True">Toggle 3</ToggleButton>
<ToggleButton Classes="Tertiary" IsThreeState="True">Toggle 3</ToggleButton>
<ToggleButton Classes="Success" IsThreeState="True">Toggle 3</ToggleButton>
<ToggleButton Classes="Warning" IsThreeState="True">Toggle 3</ToggleButton>
<ToggleButton Classes="Danger" IsThreeState="True">Toggle 3</ToggleButton>
<StackPanel HorizontalAlignment="Left" Spacing="16">
<WrapPanel ItemSpacing="16" LineSpacing="16">
<ToggleButton Content="Default" />
<ToggleButton Content="Primary" Classes="Primary" />
<ToggleButton Content="Secondary" Classes="Secondary" />
<ToggleButton Content="Tertiary" Classes="Tertiary" />
<ToggleButton Content="Success" Classes="Success" />
<ToggleButton Content="Warning" Classes="Warning" />
<ToggleButton Content="Danger" Classes="Danger" />
<ToggleButton Content="Disabled" Classes="Danger" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16" LineSpacing="16">
<ToggleButton Content="Default" IsChecked="True" />
<ToggleButton Content="Primary" Classes="Primary" IsChecked="True" />
<ToggleButton Content="Secondary" Classes="Secondary" IsChecked="True" />
<ToggleButton Content="Tertiary" Classes="Tertiary" IsChecked="True" />
<ToggleButton Content="Success" Classes="Success" IsChecked="True" />
<ToggleButton Content="Warning" Classes="Warning" IsChecked="True" />
<ToggleButton Content="Danger" Classes="Danger" IsChecked="True" />
<ToggleButton Content="Disabled" Classes="Danger" IsChecked="True" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16" LineSpacing="16">
<ToggleButton Content="Default" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Primary" Classes="Primary" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Secondary" Classes="Secondary" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Tertiary" Classes="Tertiary" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Success" Classes="Success" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Warning" Classes="Warning" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Danger" Classes="Danger" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Disabled" Classes="Danger" IsChecked="{x:Null}" IsThreeState="True" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16" LineSpacing="16">
<ToggleButton Content="Default" Classes="Colorful" />
<ToggleButton Content="Primary" Classes="Colorful Primary" />
<ToggleButton Content="Secondary" Classes="Colorful Secondary" />
<ToggleButton Content="Tertiary" Classes="Colorful Tertiary" />
<ToggleButton Content="Success" Classes="Colorful Success" />
<ToggleButton Content="Warning" Classes="Colorful Warning" />
<ToggleButton Content="Danger" Classes="Colorful Danger" />
<ToggleButton Content="Disabled" Classes="Colorful Primary" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16" LineSpacing="16">
<ToggleButton Content="Default" Classes="Colorful" IsChecked="True" />
<ToggleButton Content="Primary" Classes="Colorful Primary" IsChecked="True" />
<ToggleButton Content="Secondary" Classes="Colorful Secondary" IsChecked="True" />
<ToggleButton Content="Tertiary" Classes="Colorful Tertiary" IsChecked="True" />
<ToggleButton Content="Success" Classes="Colorful Success" IsChecked="True" />
<ToggleButton Content="Warning" Classes="Colorful Warning" IsChecked="True" />
<ToggleButton Content="Danger" Classes="Colorful Danger" IsChecked="True" />
<ToggleButton Content="Disabled" Classes="Colorful Primary" IsChecked="True" IsEnabled="False" />
</WrapPanel>
<WrapPanel ItemSpacing="16" LineSpacing="16">
<ToggleButton Content="Default" Classes="Colorful" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Primary" Classes="Colorful Primary" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Secondary" Classes="Colorful Secondary" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Tertiary" Classes="Colorful Tertiary" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Success" Classes="Colorful Success" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Warning" Classes="Colorful Warning" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Danger" Classes="Colorful Danger" IsChecked="{x:Null}" IsThreeState="True" />
<ToggleButton Content="Disabled" Classes="Colorful Primary" IsChecked="{x:Null}" IsThreeState="True" IsEnabled="False" />
</WrapPanel>
</StackPanel>
</Design.PreviewWith>
<ControlTheme
@@ -136,6 +183,39 @@
</Style>
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary">
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryBackground}" />
</Style>
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulPrimaryPressedBackground}" />
</Style>
</Style>
<Style Selector="^.Tertiary">
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidColorfulTertiaryForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryBackground}" />
</Style>
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPointeroverBackground}" />
</Style>
<Style Selector="^:pressed /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonSolidColorfulTertiaryPressedBackground}" />
</Style>
</Style>
</Style>
<Style Selector="^:disabled /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonSolidDisabledForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonSolidDisabledBackground}" />
@@ -174,6 +254,14 @@
<Style Selector="^.Danger /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineDangerBorderBrush}" />
</Style>
<Style Selector="^.Colorful">
<Style Selector="^.Primary /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonOutlineColorfulPrimaryForeground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ButtonOutlineColorfulPrimaryBorderBrush}" />
</Style>
</Style>
<Style Selector="^:disabled /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Foreground" Value="{DynamicResource ButtonDefaultDisabledForeground}" />
<Setter Property="Background" Value="{DynamicResource ButtonOutlineBackground}" />

View File

@@ -71,6 +71,22 @@
<SolidColorBrush x:Key="ButtonBorderlessBackground" Color="Transparent" />
<SolidColorBrush x:Key="ButtonBorderlessBorderBrush" Color="Transparent" />
<!-- end Borderless -->
<!-- Colorful Classes -->
<StaticResource x:Key="ButtonDefaultColorfulPrimaryForeground" ResourceKey="SemiColorAIGeneral" />
<StaticResource x:Key="ButtonSolidColorfulPrimaryBackground" ResourceKey="SemiColorAIGeneral" />
<StaticResource x:Key="ButtonSolidColorfulPrimaryPointeroverBackground" ResourceKey="SemiColorAIGeneralPointerover" />
<StaticResource x:Key="ButtonSolidColorfulPrimaryPressedBackground" ResourceKey="SemiColorAIGeneralActive" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryForeground" ResourceKey="SemiColorAIGeneral" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryBackground" ResourceKey="SemiAIGeneral0" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryPointeroverBackground" ResourceKey="SemiAIGeneral1" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryPressedBackground" ResourceKey="SemiAIGeneral2" />
<StaticResource x:Key="ButtonOutlineColorfulPrimaryForeground" ResourceKey="SemiColorAIPurple" />
<StaticResource x:Key="ButtonOutlineColorfulPrimaryBorderBrush" ResourceKey="SemiColorAIPurple" />
<!-- end Colorful -->
<StaticResource x:Key="ButtonInputInnerForeground" ResourceKey="SemiColorText2" />
<StaticResource x:Key="ButtonInputInnerPointeroverForeground" ResourceKey="SemiColorPrimaryPointerover" />
<StaticResource x:Key="ButtonInputInnerPressedForeground" ResourceKey="SemiColorPrimaryActive" />

View File

@@ -71,6 +71,22 @@
<SolidColorBrush x:Key="ButtonBorderlessBackground" Color="Transparent" />
<SolidColorBrush x:Key="ButtonBorderlessBorderBrush" Color="Transparent" />
<!-- end Borderless -->
<!-- Colorful Classes -->
<StaticResource x:Key="ButtonDefaultColorfulPrimaryForeground" ResourceKey="SemiColorAIGeneral" />
<StaticResource x:Key="ButtonSolidColorfulPrimaryBackground" ResourceKey="SemiColorAIGeneral" />
<StaticResource x:Key="ButtonSolidColorfulPrimaryPointeroverBackground" ResourceKey="SemiColorAIGeneralPointerover" />
<StaticResource x:Key="ButtonSolidColorfulPrimaryPressedBackground" ResourceKey="SemiColorAIGeneralActive" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryForeground" ResourceKey="SemiColorAIGeneral" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryBackground" ResourceKey="SemiAIGeneral0" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryPointeroverBackground" ResourceKey="SemiAIGeneral1" />
<StaticResource x:Key="ButtonSolidColorfulTertiaryPressedBackground" ResourceKey="SemiAIGeneral2" />
<StaticResource x:Key="ButtonOutlineColorfulPrimaryForeground" ResourceKey="SemiColorAIPurple" />
<StaticResource x:Key="ButtonOutlineColorfulPrimaryBorderBrush" ResourceKey="SemiColorAIPurple" />
<!-- end Colorful -->
<StaticResource x:Key="ButtonInputInnerForeground" ResourceKey="SemiColorText2" />
<StaticResource x:Key="ButtonInputInnerPointeroverForeground" ResourceKey="SemiColorPrimaryPointerover" />
<StaticResource x:Key="ButtonInputInnerPressedForeground" ResourceKey="SemiColorPrimaryActive" />