chore(style): add SplitButton small style

This commit is contained in:
NaBian committed 2022-04-01 18:16:07 +08:00
1 parent 25f3ec0e03
commit 6b077e86ad
5 files changed
+138 -11

No files matched your search

@@ -10581,7 +10581,7 @@
<Path x:Name="PathMain" Width="{TemplateBinding hc:IconElement.Width}" Height="{TemplateBinding hc:IconElement.Height}" Fill="{TemplateBinding Foreground}" SnapsToDevicePixels="True" Stretch="Uniform" Data="{TemplateBinding hc:IconElement.Geometry}" />
<ContentPresenter x:Name="ContentPresenterMain" RecognizesAccessKey="True" VerticalAlignment="Center" Margin="6,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</StackPanel>
<ToggleButton x:Name="PART_Arrow" Foreground="{TemplateBinding Foreground}" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Width="22" Height="Auto" Padding="0,10,8,10" HorizontalContentAlignment="Left" Grid.Column="1" Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" hc:IconElement.Geometry="{StaticResource DownGeometry}" />
<ToggleButton x:Name="PART_Arrow" hc:IconElement.Width="14" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,1,1,1'}" Foreground="{TemplateBinding Foreground}" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" Grid.Column="1" Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" hc:IconElement.Geometry="{StaticResource DownGeometry}" />
</Grid>
</Border>
<Popup AllowsTransparency="true" StaysOpen="False" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="Fade" Placement="Bottom">
@@ -13241,7 +13241,7 @@
</Setter.Value>
</Setter>
</Style>
<Style BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Style x:Key="SplitButtonDefault" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Style.Triggers>
@@ -13253,21 +13253,52 @@
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="SplitButtonDefault.Small" BasedOn="{StaticResource SplitButtonDefault}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style BasedOn="{StaticResource SplitButtonDefault}" TargetType="hc:SplitButton" />
<Style x:Key="SplitButtonPrimary" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource PrimaryBrush}" />
</Style>
<Style x:Key="SplitButtonPrimary.Small" BasedOn="{StaticResource SplitButtonPrimary}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonSuccess" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource SuccessBrush}" />
</Style>
<Style x:Key="SplitButtonSuccess.Small" BasedOn="{StaticResource SplitButtonSuccess}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonInfo" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource InfoBrush}" />
</Style>
<Style x:Key="SplitButtonInfo.Small" BasedOn="{StaticResource SplitButtonInfo}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonWarning" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource WarningBrush}" />
</Style>
<Style x:Key="SplitButtonWarning.Small" BasedOn="{StaticResource SplitButtonWarning}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonDanger" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource DangerBrush}" />
</Style>
<Style x:Key="SplitButtonDanger.Small" BasedOn="{StaticResource SplitButtonDanger}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style BasedOn="{StaticResource StatusBarBaseStyle}" TargetType="StatusBar" />
<Style BasedOn="{StaticResource StatusBarItemBaseStyle}" TargetType="StatusBarItem" />
<Style BasedOn="{StaticResource StepBarBaseStyle}" TargetType="hc:StepBar" />
@@ -6,8 +6,8 @@
xmlns:ex="clr-namespace:HandyControlDemo.Tools.Extension"
DataContext="{Binding SplitButtonDemo,Source={StaticResource Locator}}">
<hc:TransitioningContentControl>
<StackPanel Margin="32" VerticalAlignment="Center">
<hc:SplitButton Margin="0,0,0,10" Content="{ex:Lang Key={x:Static langs:LangKeys.Default}}" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:UniformSpacingPanel Margin="32" VerticalAlignment="Center" Spacing="10">
<hc:SplitButton Content="{ex:Lang Key={x:Static langs:LangKeys.Default}}" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command1"/>
@@ -16,7 +16,7 @@
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
<hc:SplitButton Style="{StaticResource SplitButtonPrimary}" Margin="0,0,0,10" Content="{ex:Lang Key={x:Static langs:LangKeys.Primary}}" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:SplitButton Style="{StaticResource SplitButtonPrimary}" Content="{ex:Lang Key={x:Static langs:LangKeys.Primary}}" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command1"/>
@@ -25,7 +25,7 @@
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
<hc:SplitButton Style="{StaticResource SplitButtonWarning}" Margin="0,0,0,10" Content="{ex:Lang Key={x:Static langs:LangKeys.Warning}}" HitMode="Hover" HorizontalAlignment="Stretch">
<hc:SplitButton Style="{StaticResource SplitButtonWarning}" Content="{ex:Lang Key={x:Static langs:LangKeys.Warning}}" HitMode="Hover" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command1"/>
@@ -34,6 +34,33 @@
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
</StackPanel>
<hc:SplitButton Style="{StaticResource SplitButtonDefault.Small}" Content="{ex:Lang Key={x:Static langs:LangKeys.Default}}" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command1"/>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command2"/>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command3"/>
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
<hc:SplitButton Style="{StaticResource SplitButtonPrimary.Small}" Content="{ex:Lang Key={x:Static langs:LangKeys.Primary}}" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command1"/>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command2"/>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command3"/>
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
<hc:SplitButton Style="{StaticResource SplitButtonWarning.Small}" Content="{ex:Lang Key={x:Static langs:LangKeys.Warning}}" HitMode="Hover" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command1"/>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command2"/>
<MenuItem Header="{ex:Lang Key={x:Static langs:LangKeys.Title}}" Command="{Binding SelectCmd}" CommandParameter="Command3"/>
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
</hc:UniformSpacingPanel>
</hc:TransitioningContentControl>
</UserControl>
@@ -29,7 +29,7 @@
<Path x:Name="PathMain" Width="{TemplateBinding hc:IconElement.Width}" Height="{TemplateBinding hc:IconElement.Height}" Fill="{TemplateBinding Foreground}" SnapsToDevicePixels="True" Stretch="Uniform" Data="{TemplateBinding hc:IconElement.Geometry}"/>
<ContentPresenter x:Name="ContentPresenterMain" RecognizesAccessKey="True" VerticalAlignment="Center" Margin="6,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</StackPanel>
<ToggleButton x:Name="PART_Arrow" Foreground="{TemplateBinding Foreground}" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Width="22" Height="Auto" Padding="0,10,8,10" HorizontalContentAlignment="Left" Grid.Column="1" Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" hc:IconElement.Geometry="{StaticResource DownGeometry}"/>
<ToggleButton x:Name="PART_Arrow" hc:IconElement.Width="14" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,1,1,1'}" Foreground="{TemplateBinding Foreground}" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" Grid.Column="1" Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" hc:IconElement.Geometry="{StaticResource DownGeometry}"/>
</Grid>
</Border>
<Popup AllowsTransparency="true" StaysOpen="False" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="Fade" Placement="Bottom">
@@ -2,7 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="clr-namespace:HandyControl.Controls">
<Style BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Style x:Key="SplitButtonDefault" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Style.Triggers>
@@ -15,24 +15,62 @@
</Style.Triggers>
</Style>
<Style x:Key="SplitButtonDefault.Small" BasedOn="{StaticResource SplitButtonDefault}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="6,1"/>
<Setter Property="hc:IconElement.Height" Value="12"/>
</Style>
<Style BasedOn="{StaticResource SplitButtonDefault}" TargetType="hc:SplitButton"/>
<Style x:Key="SplitButtonPrimary" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource PrimaryBrush}"/>
</Style>
<Style x:Key="SplitButtonPrimary.Small" BasedOn="{StaticResource SplitButtonPrimary}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="6,1"/>
<Setter Property="hc:IconElement.Height" Value="12"/>
</Style>
<Style x:Key="SplitButtonSuccess" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource SuccessBrush}"/>
</Style>
<Style x:Key="SplitButtonSuccess.Small" BasedOn="{StaticResource SplitButtonSuccess}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="6,1"/>
<Setter Property="hc:IconElement.Height" Value="12"/>
</Style>
<Style x:Key="SplitButtonInfo" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource InfoBrush}"/>
</Style>
<Style x:Key="SplitButtonInfo.Small" BasedOn="{StaticResource SplitButtonInfo}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="6,1"/>
<Setter Property="hc:IconElement.Height" Value="12"/>
</Style>
<Style x:Key="SplitButtonWarning" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource WarningBrush}"/>
</Style>
<Style x:Key="SplitButtonWarning.Small" BasedOn="{StaticResource SplitButtonWarning}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="6,1"/>
<Setter Property="hc:IconElement.Height" Value="12"/>
</Style>
<Style x:Key="SplitButtonDanger" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource DangerBrush}"/>
</Style>
<Style x:Key="SplitButtonDanger.Small" BasedOn="{StaticResource SplitButtonDanger}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="6,1"/>
<Setter Property="hc:IconElement.Height" Value="12"/>
</Style>
</ResourceDictionary>
@@ -10699,7 +10699,7 @@
<Path x:Name="PathMain" Width="{TemplateBinding hc:IconElement.Width}" Height="{TemplateBinding hc:IconElement.Height}" Fill="{TemplateBinding Foreground}" SnapsToDevicePixels="True" Stretch="Uniform" Data="{TemplateBinding hc:IconElement.Geometry}" />
<ContentPresenter x:Name="ContentPresenterMain" RecognizesAccessKey="True" VerticalAlignment="Center" Margin="6,0,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</StackPanel>
<ToggleButton x:Name="PART_Arrow" Foreground="{TemplateBinding Foreground}" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Width="22" Height="Auto" Padding="0,10,8,10" HorizontalContentAlignment="Left" Grid.Column="1" Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" hc:IconElement.Geometry="{StaticResource DownGeometry}" />
<ToggleButton x:Name="PART_Arrow" hc:IconElement.Width="14" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,1,1,1'}" Foreground="{TemplateBinding Foreground}" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" Grid.Column="1" Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" hc:IconElement.Geometry="{StaticResource DownGeometry}" />
</Grid>
</Border>
<Popup AllowsTransparency="true" StaysOpen="False" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="Fade" Placement="Bottom">
@@ -13392,7 +13392,7 @@
</Setter.Value>
</Setter>
</Style>
<Style BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Style x:Key="SplitButtonDefault" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Style.Triggers>
@@ -13404,21 +13404,52 @@
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="SplitButtonDefault.Small" BasedOn="{StaticResource SplitButtonDefault}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style BasedOn="{StaticResource SplitButtonDefault}" TargetType="hc:SplitButton" />
<Style x:Key="SplitButtonPrimary" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource PrimaryBrush}" />
</Style>
<Style x:Key="SplitButtonPrimary.Small" BasedOn="{StaticResource SplitButtonPrimary}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonSuccess" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource SuccessBrush}" />
</Style>
<Style x:Key="SplitButtonSuccess.Small" BasedOn="{StaticResource SplitButtonSuccess}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonInfo" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource InfoBrush}" />
</Style>
<Style x:Key="SplitButtonInfo.Small" BasedOn="{StaticResource SplitButtonInfo}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonWarning" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource WarningBrush}" />
</Style>
<Style x:Key="SplitButtonWarning.Small" BasedOn="{StaticResource SplitButtonWarning}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style x:Key="SplitButtonDanger" BasedOn="{StaticResource SplitButtonBaseStyle}" TargetType="hc:SplitButton">
<Setter Property="Background" Value="{DynamicResource DangerBrush}" />
</Style>
<Style x:Key="SplitButtonDanger.Small" BasedOn="{StaticResource SplitButtonDanger}" TargetType="hc:SplitButton">
<Setter Property="Height" Value="20" />
<Setter Property="Padding" Value="6,1" />
<Setter Property="hc:IconElement.Height" Value="12" />
</Style>
<Style BasedOn="{StaticResource StatusBarBaseStyle}" TargetType="StatusBar" />
<Style BasedOn="{StaticResource StatusBarItemBaseStyle}" TargetType="StatusBarItem" />
<Style BasedOn="{StaticResource StepBarBaseStyle}" TargetType="hc:StepBar" />