feat: add badge font size.
This commit is contained in:
@@ -9,24 +9,23 @@
|
|||||||
|
|
||||||
<ControlTheme x:Key="{x:Type u:Badge}" TargetType="{x:Type u:Badge}">
|
<ControlTheme x:Key="{x:Type u:Badge}" TargetType="{x:Type u:Badge}">
|
||||||
<!-- Set a very large corner radius to achieve pill look. -->
|
<!-- Set a very large corner radius to achieve pill look. -->
|
||||||
<Setter Property="u:Badge.CornerRadius" Value="{DynamicResource BadgeCornerRadius}" />
|
<Setter Property="CornerRadius" Value="{DynamicResource BadgeCornerRadius}" />
|
||||||
<Setter Property="u:Badge.FontSize" Value="{DynamicResource BadgeFontSize}" />
|
<Setter Property="BadgeFontSize" Value="{DynamicResource BadgeFontSize}" />
|
||||||
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeForeground}" />
|
<Setter Property="Foreground" Value="{DynamicResource BadgeForeground}" />
|
||||||
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgePrimaryBadgeBackground}" />
|
<Setter Property="Background" Value="{DynamicResource BadgePrimaryBadgeBackground}" />
|
||||||
<Setter Property="u:Badge.ClipToBounds" Value="False" />
|
<Setter Property="ClipToBounds" Value="False" />
|
||||||
<Setter Property="u:Badge.HorizontalAlignment" Value="Center" />
|
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||||
<Setter Property="u:Badge.VerticalAlignment" Value="Center" />
|
<Setter Property="VerticalAlignment" Value="Center" />
|
||||||
<Setter Property="u:Badge.BorderThickness" Value="{DynamicResource BadgeBorderThickness}" />
|
<Setter Property="BorderThickness" Value="{DynamicResource BadgeBorderThickness}" />
|
||||||
<Setter Property="u:Badge.UseLayoutRounding" Value="False" />
|
<Setter Property="UseLayoutRounding" Value="False" />
|
||||||
<Setter Property="u:Badge.BorderBrush" Value="{DynamicResource BadgeBorderBrush}" />
|
<Setter Property="BorderBrush" Value="{DynamicResource BadgeBorderBrush}" />
|
||||||
<Setter Property="u:Badge.CornerPosition" Value="{DynamicResource BadgeCornerPosition}" />
|
<Setter Property="CornerPosition" Value="{DynamicResource BadgeCornerPosition}" />
|
||||||
<Setter Property="u:Badge.Template">
|
<Setter Property="Template">
|
||||||
<ControlTemplate TargetType="{x:Type u:Badge}">
|
<ControlTemplate TargetType="{x:Type u:Badge}">
|
||||||
<Grid
|
<Grid
|
||||||
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
|
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
|
||||||
VerticalAlignment="{TemplateBinding VerticalAlignment}"
|
VerticalAlignment="{TemplateBinding VerticalAlignment}"
|
||||||
ClipToBounds="False">
|
ClipToBounds="False">
|
||||||
|
|
||||||
<ContentPresenter
|
<ContentPresenter
|
||||||
Name="{x:Static u:Badge.PART_ContentPresenter}"
|
Name="{x:Static u:Badge.PART_ContentPresenter}"
|
||||||
Margin="{TemplateBinding Padding}"
|
Margin="{TemplateBinding Padding}"
|
||||||
@@ -55,7 +54,7 @@
|
|||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
Focusable="False"
|
Focusable="False"
|
||||||
IsTabStop="False"
|
IsTabStop="False"
|
||||||
TextElement.FontSize="{TemplateBinding FontSize}"
|
TextElement.FontSize="{TemplateBinding BadgeFontSize}"
|
||||||
TextElement.Foreground="{TemplateBinding Foreground}">
|
TextElement.Foreground="{TemplateBinding Foreground}">
|
||||||
<ContentPresenter.Content>
|
<ContentPresenter.Content>
|
||||||
<MultiBinding Converter="{StaticResource BadgeContentConverter}">
|
<MultiBinding Converter="{StaticResource BadgeContentConverter}">
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<x:Double x:Key="BadgeDotHeight">8</x:Double>
|
<x:Double x:Key="BadgeDotHeight">8</x:Double>
|
||||||
<Thickness x:Key="BadgePadding">6,0</Thickness>
|
<Thickness x:Key="BadgePadding">6,0</Thickness>
|
||||||
<Thickness x:Key="BadgeBorderThickness">1</Thickness>
|
<Thickness x:Key="BadgeBorderThickness">1</Thickness>
|
||||||
<x:Double x:Key="BadgeFontSize">14</x:Double>
|
<x:Double x:Key="BadgeFontSize">10</x:Double>
|
||||||
<CornerRadius x:Key="BadgeCornerRadius">100</CornerRadius>
|
<CornerRadius x:Key="BadgeCornerRadius">100</CornerRadius>
|
||||||
<common:CornerPosition x:Key="BadgeCornerPosition">TopRight</common:CornerPosition>
|
<common:CornerPosition x:Key="BadgeCornerPosition">TopRight</common:CornerPosition>
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
@@ -50,6 +50,15 @@ public class Badge: HeaderedContentControl
|
|||||||
set => SetValue(OverflowCountProperty, value);
|
set => SetValue(OverflowCountProperty, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static readonly StyledProperty<double> BadgeFontSizeProperty = AvaloniaProperty.Register<Badge, double>(
|
||||||
|
nameof(BadgeFontSize));
|
||||||
|
|
||||||
|
public double BadgeFontSize
|
||||||
|
{
|
||||||
|
get => GetValue(BadgeFontSizeProperty);
|
||||||
|
set => SetValue(BadgeFontSizeProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
static Badge()
|
static Badge()
|
||||||
{
|
{
|
||||||
HeaderProperty.Changed.AddClassHandler<Badge>((badge, args) => badge.UpdateBadgePosition());
|
HeaderProperty.Changed.AddClassHandler<Badge>((badge, args) => badge.UpdateBadgePosition());
|
||||||
|
|||||||
Reference in New Issue
Block a user