Skip to main content
Action components handle user interactions and trigger behaviors in your application.

DaisyButton

Versatile button control with 11 variants, multiple styles, shapes, and sizes.

Basic Usage

<daisy:DaisyButton Content="Default Button" />
<daisy:DaisyButton Content="Primary" Variant="Primary" />
<daisy:DaisyButton Content="Secondary" Variant="Secondary" />
<daisy:DaisyButton Content="Accent" Variant="Accent" />

Variants

<daisy:DaisyButton Content="Neutral" Variant="Neutral" />
<daisy:DaisyButton Content="Primary" Variant="Primary" />
<daisy:DaisyButton Content="Secondary" Variant="Secondary" />
<daisy:DaisyButton Content="Accent" Variant="Accent" />
<daisy:DaisyButton Content="Info" Variant="Info" />
<daisy:DaisyButton Content="Success" Variant="Success" />
<daisy:DaisyButton Content="Warning" Variant="Warning" />
<daisy:DaisyButton Content="Error" Variant="Error" />

Sizes

<daisy:DaisyButton Content="Extra Small" Size="ExtraSmall" Variant="Primary" />
<daisy:DaisyButton Content="Small" Size="Small" Variant="Primary" />
<daisy:DaisyButton Content="Medium" Size="Medium" Variant="Primary" />
<daisy:DaisyButton Content="Large" Size="Large" Variant="Primary" />
<daisy:DaisyButton Content="Extra Large" Size="ExtraLarge" Variant="Primary" />

Shapes

<daisy:DaisyButton Content="Wide" Shape="Wide" Variant="Primary" />
<daisy:DaisyButton Content="Block" Shape="Block" Variant="Primary" />
<daisy:DaisyButton Content="■" Shape="Square" Variant="Primary" />
<daisy:DaisyButton Content="●" Shape="Circle" Variant="Primary" />

Styles

<daisy:DaisyButton Content="Default" ButtonStyle="Default" Variant="Primary" />
<daisy:DaisyButton Content="Outline" ButtonStyle="Outline" Variant="Primary" />
<daisy:DaisyButton Content="Soft" ButtonStyle="Soft" Variant="Primary" />
<daisy:DaisyButton Content="Dash" ButtonStyle="Dash" Variant="Primary" />

Properties

PropertyTypeDefaultDescription
VariantDaisyButtonVariantDefaultColor variant (Primary, Secondary, etc.)
ButtonStyleDaisyButtonStyleDefaultVisual style (Outline, Soft, Dash)
ShapeDaisyButtonShapeDefaultButton shape (Wide, Block, Square, Circle)
SizeDaisySizeMediumButton size
IsActiveboolfalseShows active/pressed state
NoAnimationboolfalseDisables click animation

DaisyFab

Floating Action Button with speed dial support for multiple actions.

Basic Usage

<daisy:DaisyFab Icon="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" 
                Variant="Primary" />

With Multiple Actions (Speed Dial)

<daisy:DaisyFab Icon="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" Variant="Primary">
  <daisy:DaisyFab.Actions>
    <daisy:DaisyFabAction Icon="..." Label="Edit" Click="OnEditClick" />
    <daisy:DaisyFabAction Icon="..." Label="Delete" Click="OnDeleteClick" />
    <daisy:DaisyFabAction Icon="..." Label="Share" Click="OnShareClick" />
  </daisy:DaisyFab.Actions>
</daisy:DaisyFab>

Properties

PropertyTypeDefaultDescription
VariantDaisyButtonVariantPrimaryColor variant
IconstringnullSVG path data for icon
SizeDaisySizeLargeFAB size
PositionDaisyFabPositionBottomRightScreen position

DaisyModal

Dialog box with backdrop overlay, keyboard support, and optional dragging.

Basic Usage

<daisy:DaisyModal x:Name="MyModal" IsOpen="False">
  <StackPanel Spacing="16" Padding="24">
    <TextBlock Text="Modal Title" FontSize="24" FontWeight="Bold" />
    <TextBlock Text="Modal content goes here" />
    <daisy:DaisyButton Content="Close" Click="OnCloseClick" />
  </StackPanel>
</daisy:DaisyModal>

Opening and Closing

// Open modal
MyModal.IsOpen = true;

// Close modal
MyModal.IsOpen = false;
<daisy:DaisyModal IsOpen="True">
  <TextBlock Text="Standard modal" />
</daisy:DaisyModal>

Properties

PropertyTypeDefaultDescription
IsOpenboolfalseControls modal visibility
ShowBackdropbooltrueShows dimmed backdrop overlay
CloseOnBackdropClickbooltrueCloses when clicking backdrop
CloseOnEscapebooltrueCloses on Escape key
IsDraggableboolfalseEnables modal dragging
ShowGrabBarboolfalseShows drag handle
BackdropOpacitydouble0.5Backdrop opacity (0-1)

Events

MyModal.Opened += (s, e) => { /* Modal opened */ };
MyModal.Closed += (s, e) => { /* Modal closed */ };

DaisySwap

Toggle control that swaps between two content states with optional animations.

Basic Usage

<daisy:DaisySwap IsSwapped="False">
  <daisy:DaisySwap.OnContent>
    <TextBlock Text="🌙" FontSize="32" />
  </daisy:DaisySwap.OnContent>
  <daisy:DaisySwap.OffContent>
    <TextBlock Text="☀️" FontSize="32" />
  </daisy:DaisySwap.OffContent>
</daisy:DaisySwap>

With Effects

<daisy:DaisySwap Effect="Rotate" IsSwapped="{x:Bind IsActive, Mode=TwoWay}">
  <daisy:DaisySwap.OnContent>
    <TextBlock Text="✓" FontSize="24" />
  </daisy:DaisySwap.OnContent>
  <daisy:DaisySwap.OffContent>
    <TextBlock Text="✗" FontSize="24" />
  </daisy:DaisySwap.OffContent>
</daisy:DaisySwap>

Properties

PropertyTypeDefaultDescription
IsSwappedboolfalseCurrent swap state
EffectDaisySwapEffectNoneAnimation effect (None, Rotate, Flip)
OnContentobjectnullContent shown when swapped
OffContentobjectnullContent shown when not swapped

Events

MySwap.Swapped += (s, e) => 
{
  bool isSwapped = MySwap.IsSwapped;
  // Handle state change
};

Next Steps

Data Display

Explore display components

Data Input

Learn about form controls

Build docs developers (and LLMs) love