mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-04-29 04:33:22 +08:00
* Initial plan * Add SplitButtonSpinner theme for ButtonSpinner Co-authored-by: rabbitism <14807942+rabbitism@users.noreply.github.com> Agent-Logs-Url: https://github.com/irihitech/Semi.Avalonia/sessions/7095fb6c-cdd9-48c0-9076-85a35fa93453 * feat: enhance ButtonSpinner and NumericUpDown with new styles and properties. * fix: fix Glyph and enlarge icons. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rabbitism <14807942+rabbitism@users.noreply.github.com> Co-authored-by: Dong Bin <popmessiah@hotmail.com> Co-authored-by: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
85 lines
4.8 KiB
XML
85 lines
4.8 KiB
XML
<ResourceDictionary
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
<ControlTheme x:Key="{x:Type NumericUpDown}" TargetType="NumericUpDown">
|
|
<Setter Property="VerticalAlignment" Value="Center" />
|
|
<Setter Property="VerticalContentAlignment" Value="Center" />
|
|
<Setter Property="CornerRadius" Value="{DynamicResource NumericUpDownCornerRadius}" />
|
|
<Setter Property="MinHeight" Value="{DynamicResource NumericUpDownDefaultHeight}" />
|
|
<Setter Property="PlaceholderForeground" Value="{DynamicResource TextBoxPlaceholderForeground}" />
|
|
<Setter Property="Template">
|
|
<ControlTemplate TargetType="NumericUpDown">
|
|
<DataValidationErrors>
|
|
<ButtonSpinner
|
|
Name="PART_Spinner"
|
|
MinWidth="0"
|
|
HorizontalContentAlignment="Stretch"
|
|
VerticalContentAlignment="Stretch"
|
|
AllowSpin="{TemplateBinding AllowSpin}"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
ButtonSpinnerLocation="{TemplateBinding ButtonSpinnerLocation}"
|
|
ShowButtonSpinner="{TemplateBinding ShowButtonSpinner}">
|
|
<TextBox
|
|
Name="PART_TextBox"
|
|
Height="{TemplateBinding Height}"
|
|
MinHeight="{TemplateBinding MinHeight}"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
|
|
AcceptsReturn="False"
|
|
CornerRadius="{TemplateBinding CornerRadius}"
|
|
DataValidationErrors.Errors="{Binding $parent[NumericUpDown].(DataValidationErrors.Errors)}"
|
|
FontSize="{TemplateBinding FontSize}"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
IsReadOnly="{TemplateBinding IsReadOnly}"
|
|
Text="{TemplateBinding Text}"
|
|
TextWrapping="NoWrap"
|
|
Theme="{DynamicResource NonErrorTextBox}"
|
|
InnerLeftContent="{TemplateBinding InnerLeftContent}"
|
|
InnerRightContent="{TemplateBinding InnerRightContent}"
|
|
PlaceholderForeground="{TemplateBinding PlaceholderForeground}"
|
|
PlaceholderText="{TemplateBinding PlaceholderText}" />
|
|
</ButtonSpinner>
|
|
</DataValidationErrors>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
|
|
<Style Selector="^.Large">
|
|
<Setter Property="MinHeight" Value="{DynamicResource NumericUpDownLargeHeight}" />
|
|
</Style>
|
|
<Style Selector="^.Small">
|
|
<Setter Property="MinHeight" Value="{DynamicResource NumericUpDownSmallHeight}" />
|
|
</Style>
|
|
|
|
<Style Selector="^.Split">
|
|
<Style Selector="^ /template/ ButtonSpinner#PART_Spinner">
|
|
<Setter Property="Theme" Value="{DynamicResource SplitButtonSpinner}" />
|
|
</Style>
|
|
<Style Selector="^ /template/ TextBox#PART_TextBox">
|
|
<Setter Property="CornerRadius" Value="0" />
|
|
</Style>
|
|
</Style>
|
|
|
|
<Style Selector="^:error">
|
|
<Style Selector="^ /template/ TextBox#PART_TextBox">
|
|
<Setter Property="Background" Value="{DynamicResource DataValidationErrorsBackground}" />
|
|
<Setter Property="BorderBrush" Value="Transparent" />
|
|
</Style>
|
|
<Style Selector="^:pointerover /template/ TextBox#PART_TextBox">
|
|
<Setter Property="Background" Value="{DynamicResource DataValidationErrorsPointeroverBackground}" />
|
|
<Setter Property="BorderBrush" Value="Transparent" />
|
|
</Style>
|
|
<Style Selector="^:pressed /template/ TextBox#PART_TextBox">
|
|
<Setter Property="Background" Value="{DynamicResource DataValidationErrorsPressedBackground}" />
|
|
<Setter Property="BorderBrush" Value="Transparent" />
|
|
</Style>
|
|
<Style Selector="^:focus /template/ TextBox#PART_TextBox">
|
|
<Setter Property="Background" Value="{DynamicResource DataValidationErrorsSelectedBackground}" />
|
|
<Setter Property="BorderBrush" Value="{DynamicResource DataValidationErrorsSelectedBorderBrush}" />
|
|
</Style>
|
|
</Style>
|
|
</ControlTheme>
|
|
|
|
</ResourceDictionary> |