Overview
DaisyBadge is a small label component for displaying status, counts, or tags with DaisyUI styling.
Properties
Variant
Variant
DaisyBadgeVariant
default:"Default"
The color variant of the badge.Available variants:
Default - Base200 gray
Neutral - Neutral dark color
Primary - Primary brand color
Secondary - Secondary brand color
Accent - Accent color
Ghost - Base200 ghost style
Info - Info blue
Success - Success green
Warning - Warning yellow/orange
Error - Error red
Size
Size
DaisySize
default:"Medium"
The size of the badge. Controls height, padding, and font size.Available sizes:
ExtraSmall
Small
Medium
Large
ExtraLarge
IsOutline
Whether the badge uses outline style (transparent background with colored border).
CornerRadius
Custom corner radius for the badge. If not set, uses size-based token values.
BadgeContent
The content of the badge (text or other content). Can also be set via Content property.
Usage Examples
XAML - Basic Badges
<!-- Default badge -->
<controls:DaisyBadge Content="Default" />
<!-- Primary badge -->
<controls:DaisyBadge Variant="Primary" Content="Primary" />
<!-- Success badge -->
<controls:DaisyBadge Variant="Success" Content="Success" />
XAML - Color Variants
<StackPanel Orientation="Horizontal" Spacing="8">
<controls:DaisyBadge Variant="Neutral" Content="Neutral" />
<controls:DaisyBadge Variant="Primary" Content="Primary" />
<controls:DaisyBadge Variant="Secondary" Content="Secondary" />
<controls:DaisyBadge Variant="Accent" Content="Accent" />
</StackPanel>
XAML - Semantic Colors
<StackPanel Orientation="Horizontal" Spacing="8">
<controls:DaisyBadge Variant="Info" Content="Info" />
<controls:DaisyBadge Variant="Success" Content="Success" />
<controls:DaisyBadge Variant="Warning" Content="Warning" />
<controls:DaisyBadge Variant="Error" Content="Error" />
</StackPanel>
XAML - Outline Style
<StackPanel Orientation="Horizontal" Spacing="8">
<controls:DaisyBadge
Variant="Primary"
IsOutline="True"
Content="Outline" />
<controls:DaisyBadge
Variant="Success"
IsOutline="True"
Content="Success" />
<controls:DaisyBadge
Variant="Error"
IsOutline="True"
Content="Error" />
</StackPanel>
XAML - Sizes
<StackPanel Orientation="Horizontal" Spacing="8" VerticalAlignment="Center">
<controls:DaisyBadge Size="ExtraSmall" Content="XS" />
<controls:DaisyBadge Size="Small" Content="SM" />
<controls:DaisyBadge Size="Medium" Content="MD" />
<controls:DaisyBadge Size="Large" Content="LG" />
<controls:DaisyBadge Size="ExtraLarge" Content="XL" />
</StackPanel>
XAML - As Status Indicator
<StackPanel Orientation="Horizontal" Spacing="8" VerticalAlignment="Center">
<TextBlock Text="Status:" VerticalAlignment="Center" />
<controls:DaisyBadge
Variant="Success"
Content="Active"
Size="Small" />
</StackPanel>
XAML - With Icons or Emojis
<StackPanel Orientation="Horizontal" Spacing="8">
<!-- Text with emoji -->
<controls:DaisyBadge Content="⭐ Featured" />
<!-- Just a number -->
<controls:DaisyBadge Variant="Error" Content="99+" />
<!-- Custom content -->
<controls:DaisyBadge Variant="Info">
<StackPanel Orientation="Horizontal" Spacing="4">
<TextBlock Text="🔔" />
<TextBlock Text="3" />
</StackPanel>
</controls:DaisyBadge>
</StackPanel>
XAML - Notification Badge
<Grid>
<controls:DaisyButton Content="Messages" />
<controls:DaisyBadge
Variant="Error"
Content="5"
Size="Small"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="0,-8,-8,0" />
</Grid>
XAML - Custom Corner Radius
<!-- Fully rounded pill -->
<controls:DaisyBadge
Content="Rounded"
CornerRadius="999" />
<!-- Square badge -->
<controls:DaisyBadge
Content="Square"
CornerRadius="4" />
C# - Dynamic Badge
var badge = new DaisyBadge
{
Variant = DaisyBadgeVariant.Primary,
Size = DaisySize.Small,
Content = "New"
};
C# - Status Badge with Updates
var statusBadge = new DaisyBadge
{
Size = DaisySize.Small
};
void UpdateStatus(string status)
{
switch (status)
{
case "active":
statusBadge.Variant = DaisyBadgeVariant.Success;
statusBadge.Content = "Active";
break;
case "pending":
statusBadge.Variant = DaisyBadgeVariant.Warning;
statusBadge.Content = "Pending";
break;
case "error":
statusBadge.Variant = DaisyBadgeVariant.Error;
statusBadge.Content = "Error";
break;
}
}
C# - Notification Counter
var notificationBadge = new DaisyBadge
{
Variant = DaisyBadgeVariant.Error,
Size = DaisySize.Small
};
void UpdateNotificationCount(int count)
{
if (count > 99)
{
notificationBadge.Content = "99+";
}
else if (count > 0)
{
notificationBadge.Content = count.ToString();
notificationBadge.Visibility = Visibility.Visible;
}
else
{
notificationBadge.Visibility = Visibility.Collapsed;
}
}
Common Use Cases
Status Indicators
<StackPanel Spacing="8">
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Server:" Width="100" />
<controls:DaisyBadge Variant="Success" Content="Online" Size="Small" />
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="Database:" Width="100" />
<controls:DaisyBadge Variant="Warning" Content="Slow" Size="Small" />
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="API:" Width="100" />
<controls:DaisyBadge Variant="Error" Content="Down" Size="Small" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" Spacing="4">
<controls:DaisyBadge Content="C#" Size="Small" />
<controls:DaisyBadge Content="WinUI" Size="Small" />
<controls:DaisyBadge Content="Uno" Size="Small" />
</StackPanel>
Version Badge
<controls:DaisyBadge
Variant="Info"
Content="v1.2.3"
Size="Small" />
Notes
- Sizing: Badge automatically scales height, padding, and font size based on
Size property
- Content: Can contain text, numbers, icons, or custom UI elements
- Outline Style: Provides a lighter alternative with transparent background
- Corner Radius: Defaults to size-appropriate values, but can be customized
- Foreground Color: Automatically contrasts with background for readability
- Cross-Platform: Uses a Border wrapper internally for consistent rendering across all platforms