fix: BadgeContentForeground.

This commit is contained in:
Zhang Dian
2024-02-26 17:52:45 +08:00
parent 38b4990e53
commit 8f4c727d5e
4 changed files with 190 additions and 88 deletions

View File

@@ -5,8 +5,8 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:u="https://irihi.tech/ursa"
d:DesignHeight="1000"
d:DesignWidth="800"
d:DesignHeight="850"
d:DesignWidth="850"
mc:Ignorable="d">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel
@@ -17,10 +17,14 @@
<StackPanel.Styles>
<Style Selector="u|Badge">
<Setter Property="Margin" Value="14" />
</Style>
<Style Selector="u|Badge > Border">
<Setter Property="Background" Value="{DynamicResource SemiOrange3}" />
<Setter Property="CornerRadius" Value="8" />
<Style Selector="^ Border">
<Setter Property="Background" Value="{DynamicResource SemiOrange3}" />
<Setter Property="CornerRadius" Value="8" />
<Style Selector="^ TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</Style>
</Style>
</StackPanel.Styles>
@@ -29,26 +33,38 @@
HorizontalAlignment="Center"
Header="500"
OverflowCount="100">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="SUCCEED!">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="Hello" />
<u:Badge Header="Hello" Dot="True" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<u:Badge Header="5" CornerPosition="TopLeft">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="5" CornerPosition="TopRight">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="5" CornerPosition="BottomLeft">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="5" CornerPosition="BottomRight">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
<StackPanel Orientation="Horizontal">
@@ -56,88 +72,134 @@
Header="VIP"
CornerPosition="TopLeft"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="VIP"
CornerPosition="TopRight"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="VIP"
CornerPosition="BottomLeft"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="VIP"
CornerPosition="BottomRight"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
<u:Badge HorizontalAlignment="Stretch" Header="VIP">
<Border Height="50" />
<Border Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<StackPanel Orientation="Horizontal">
<u:Badge Header="URSA" Classes="Primary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Secondary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Tertiary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Success">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Warning">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Danger">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
<StackPanel Orientation="Horizontal">
<u:Badge Header="URSA" Classes="Light Primary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Light Secondary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Light Tertiary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Light Success">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Light Warning">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Light Danger">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
<StackPanel Orientation="Horizontal">
<u:Badge Header="URSA" Classes="Inverted Primary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Inverted Secondary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Inverted Tertiary">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Inverted Success">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Inverted Warning">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge Header="URSA" Classes="Inverted Danger">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
<StackPanel Orientation="Horizontal">
@@ -145,37 +207,49 @@
Header="URSA"
Classes="Primary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Secondary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Tertiary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Success"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Warning"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Danger"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
<StackPanel Orientation="Horizontal">
@@ -183,37 +257,49 @@
Header="URSA"
Classes="Light Primary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Light Secondary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Light Tertiary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Light Success"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Light Warning"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Light Danger"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
<Border Background="{DynamicResource SemiGrey2}" CornerRadius="4">
@@ -222,37 +308,49 @@
Header="URSA"
Classes="Inverted Primary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Inverted Secondary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Inverted Tertiary"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Inverted Success"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Inverted Warning"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
<u:Badge
Header="URSA"
Classes="Inverted Danger"
Dot="True">
<Border Width="100" Height="50" />
<Border Width="100" Height="50">
<TextBlock Text="■■■"/>
</Border>
</u:Badge>
</StackPanel>
</Border>

View File

@@ -32,7 +32,8 @@
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
VerticalAlignment="{TemplateBinding VerticalAlignment}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
ContentTemplate="{TemplateBinding ContentTemplate}"
Foreground="{DynamicResource BadgeContentForeground}"/>
<Border
Name="{x:Static u:Badge.PART_BadgeContainer}"
MinWidth="{DynamicResource BadgeMinWidth}"
@@ -81,7 +82,8 @@
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
VerticalAlignment="{TemplateBinding VerticalAlignment}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
ContentTemplate="{TemplateBinding ContentTemplate}"
Foreground="{DynamicResource BadgeContentForeground}"/>
<Border
Name="{x:Static u:Badge.PART_BadgeContainer}"
Width="{DynamicResource BadgeDotWidth}"
@@ -100,86 +102,86 @@
</Style>
<Style Selector="^[CornerPosition=TopLeft] /template/ Border#PART_BadgeContainer">
<Setter Property="u:Badge.HorizontalAlignment" Value="Left" />
<Setter Property="u:Badge.VerticalAlignment" Value="Top" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style Selector="^[CornerPosition=TopRight] /template/ Border#PART_BadgeContainer">
<Setter Property="u:Badge.HorizontalAlignment" Value="Right" />
<Setter Property="u:Badge.VerticalAlignment" Value="Top" />
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style Selector="^[CornerPosition=BottomLeft] /template/ Border#PART_BadgeContainer">
<Setter Property="u:Badge.HorizontalAlignment" Value="Left" />
<Setter Property="u:Badge.VerticalAlignment" Value="Bottom" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Bottom" />
</Style>
<Style Selector="^[CornerPosition=BottomRight] /template/ Border#PART_BadgeContainer">
<Setter Property="u:Badge.HorizontalAlignment" Value="Right" />
<Setter Property="u:Badge.VerticalAlignment" Value="Bottom" />
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="VerticalAlignment" Value="Bottom" />
</Style>
<Style Selector="^.Primary">
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgePrimaryBadgeBackground}" />
<Setter Property="Background" Value="{DynamicResource BadgePrimaryBadgeBackground}" />
</Style>
<Style Selector="^.Secondary">
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeSecondaryBadgeBackground}" />
<Setter Property="Background" Value="{DynamicResource BadgeSecondaryBadgeBackground}" />
</Style>
<Style Selector="^.Tertiary">
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeTertiaryBadgeBackground}" />
<Setter Property="Background" Value="{DynamicResource BadgeTertiaryBadgeBackground}" />
</Style>
<Style Selector="^.Success">
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeSuccessBadgeBackground}" />
<Setter Property="Background" Value="{DynamicResource BadgeSuccessBadgeBackground}" />
</Style>
<Style Selector="^.Warning">
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeWarningBadgeBackground}" />
<Setter Property="Background" Value="{DynamicResource BadgeWarningBadgeBackground}" />
</Style>
<Style Selector="^.Danger">
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeDangerBadgeBackground}" />
<Setter Property="Background" Value="{DynamicResource BadgeDangerBadgeBackground}" />
</Style>
<Style Selector="^.Light">
<Style Selector="^.Primary">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeLightPrimaryBadgeForeground}" />
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeLightPrimaryBadgeBackground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeLightPrimaryBadgeForeground}" />
<Setter Property="Background" Value="{DynamicResource BadgeLightPrimaryBadgeBackground}" />
</Style>
<Style Selector="^.Secondary">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeLightSecondaryBadgeForeground}" />
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeLightSecondaryBadgeBackground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeLightSecondaryBadgeForeground}" />
<Setter Property="Background" Value="{DynamicResource BadgeLightSecondaryBadgeBackground}" />
</Style>
<Style Selector="^.Tertiary">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeLightTertiaryBadgeForeground}" />
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeLightTertiaryBadgeBackground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeLightTertiaryBadgeForeground}" />
<Setter Property="Background" Value="{DynamicResource BadgeLightTertiaryBadgeBackground}" />
</Style>
<Style Selector="^.Success">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeLightSuccessBadgeForeground}" />
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeLightSuccessBadgeBackground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeLightSuccessBadgeForeground}" />
<Setter Property="Background" Value="{DynamicResource BadgeLightSuccessBadgeBackground}" />
</Style>
<Style Selector="^.Warning">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeLightWarningBadgeForeground}" />
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeLightWarningBadgeBackground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeLightWarningBadgeForeground}" />
<Setter Property="Background" Value="{DynamicResource BadgeLightWarningBadgeBackground}" />
</Style>
<Style Selector="^.Danger">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeLightDangerBadgeForeground}" />
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeLightDangerBadgeBackground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeLightDangerBadgeForeground}" />
<Setter Property="Background" Value="{DynamicResource BadgeLightDangerBadgeBackground}" />
</Style>
</Style>
<Style Selector="^.Inverted">
<Setter Property="u:Badge.Background" Value="{DynamicResource BadgeInvertedBadgeBackground}" />
<Setter Property="Background" Value="{DynamicResource BadgeInvertedBadgeBackground}" />
<Style Selector="^.Primary">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeInvertedPrimaryBadgeForeground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeInvertedPrimaryBadgeForeground}" />
</Style>
<Style Selector="^.Secondary">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeInvertedSecondaryBadgeForeground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeInvertedSecondaryBadgeForeground}" />
</Style>
<Style Selector="^.Tertiary">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeInvertedTertiaryBadgeForeground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeInvertedTertiaryBadgeForeground}" />
</Style>
<Style Selector="^.Success">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeInvertedSuccessBadgeForeground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeInvertedSuccessBadgeForeground}" />
</Style>
<Style Selector="^.Warning">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeInvertedWarningBadgeForeground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeInvertedWarningBadgeForeground}" />
</Style>
<Style Selector="^.Danger">
<Setter Property="u:Badge.Foreground" Value="{DynamicResource BadgeInvertedDangerBadgeForeground}" />
<Setter Property="Foreground" Value="{DynamicResource BadgeInvertedDangerBadgeForeground}" />
</Style>
</Style>
</ControlTheme>

View File

@@ -1,6 +1,7 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<SolidColorBrush x:Key="BadgeBorderBrush" Color="#1C1F23" />
<SolidColorBrush x:Key="BadgeForeground" Color="#1C1F23" />
<SolidColorBrush x:Key="BadgeContentForeground" Color="White" />
<!-- Solid -->
<SolidColorBrush x:Key="BadgePrimaryBadgeBackground" Color="#FF54A9FF" />
<SolidColorBrush x:Key="BadgeSecondaryBadgeBackground" Color="#FF40B4F3" />

View File

@@ -1,6 +1,7 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<SolidColorBrush x:Key="BadgeBorderBrush" Color="White"/>
<SolidColorBrush x:Key="BadgeForeground" Color="White" />
<SolidColorBrush x:Key="BadgeContentForeground" Color="#1C1F23" />
<!-- Solid -->
<SolidColorBrush x:Key="BadgePrimaryBadgeBackground" Color="#0077F0" />
<SolidColorBrush x:Key="BadgeSecondaryBadgeBackground" Color="#0095EE" />