ToggleButton
Schaltbarer Button für einen booleschen Zustand via @bind-Active. Für reine Klick-Aktionen bitte Button verwenden.
Verhalten
Nur Text
Aktiv: False
Text + Icon
Aktiv: True
Nur Icon
Aktiv: False
Toggle-Gruppe
B: False | I: True | U: False
Aktiv/Inaktiv Farben
Aktiv: False
Disabled
Farben
Semantische Paletten (Standard)
Soft inaktiv → Solid aktiv
Soft mit Icon (Gruppe)
Soft Light / Dark Shades
Größen (Size)
Standard-Größe istOoSize.Xs.
Nur Text
Text + Icon
Nur Icon
Border-Radius
Stufen
Icon + Full
Click-Event
Click-Callback
Aktiv: False | Klicks: 0
Inaktiv → Aktiv: Varianten-Vergleich
Outline → Solid
Ghost → Solid
Soft → Solid
Soft → Solid + Shadow (aktiv)
Soft → Solid.Light + Shadow (aktiv)
Soft → Solid.Lighter + Shadow (aktiv)
Soft → Soft.Dark + Shadow (aktiv)
Soft → Soft + Shadow (aktiv)
Nur Icon (Soft → Solid + Shadow)
Soft + Shadow – nur Icon
Soft + Shadow – Format-Gruppe
Validierung
Pflichtfeld
class & style
class
style
SKILL.md – Togglebutton
--- name: ToggleButton description: Onesown Blazor Komponente ToggleButton (Common). Verwende diesen Skill wenn du die ToggleButton-Komponente verwenden, konfigurieren oder debuggen moechtest. --- # ToggleButton **Namespace:** `Onesown.Blazor.Components` **Kategorie:** Common **Basisklasse:** `FormControlBase` Umschalt-Button mit An/Aus-Zustand, konfigurierbaren Farb-Token für aktiv/inaktiv, Shadow-Effekt und Integration in EditContext/DataAnnotations-Validierung. **Live-Demo:** https://components.schini.com/demo/togglebutton ## Parameter | Parameter | Typ | Standard | Beschreibung | |---|---|---|---| | ``Text`` | ``string`` | | Beschriftungstext des Buttons. Wird links vom Icon angezeigt, wenn beide gesetzt sind. | | ``Icon`` | ``string`` | | Name des Material-Symbols (z.B. "star", "toggle_on"). Wird neben oder statt Text angezeigt. | | ``Disabled`` | ``bool`` | | Deaktiviert den Button: kein Klick, ausgegraut. Standard: false. | | ``Active`` | ``bool`` | | Aktueller Zustand des ToggleButtons. true = aktiv, false = inaktiv. Für Two-Way-Binding: @bind-Active. | | ``ActiveChanged`` | ``EventCallback<bool>`` | | EventCallback für Two-Way-Binding (@bind-Active). Wird nach jedem Umschalten mit dem neuen Zustand aufgerufen. | | ``ValueExpression`` | ``Expression<Func<object>>`` | | LINQ-Expression auf die gebundene Model-Property. Wird für DataAnnotations-Validierung benötigt. | | ``Type`` | ``string`` | ``"button"`` | HTML-Button-Typ. Mögliche Werte: "button" (Standard), "submit", "reset". | | ``Title`` | ``string`` | | HTML-Title-Attribut – erscheint als nativer Browser-Tooltip beim Hover. | | ``BaseColor`` | ``OoColor`` | | Basisfarbe aus der OoColorPalette. Leitet ActiveStyle und InactiveStyle automatisch ab, wenn diese nicht explizit gesetzt sind. Standard: OoColorPalette.Neutral. | | ``ActiveStyle`` | ``OoButtonStyle`` | | Farb-Token für den aktiven Zustand. Überschreibt die von BaseColor abgeleitete Farbe. | | ``InactiveStyle`` | ``OoButtonStyle`` | | Farb-Token für den inaktiven Zustand. Überschreibt die von BaseColor abgeleitete Farbe. | | ``OnClick`` | ``EventCallback`` | | Wird beim Klick ausgelöst – zusätzlich zu ActiveChanged. Nützlich für Seiteneffekte ohne Two-Way-Binding. | | ``Radius`` | ``string`` | | Border-Radius. OoRadius-Konstanten oder beliebiger CSS-Wert. Standard: OoRadius.Md. | | ``ChildContent`` | ``RenderFragment`` | | Beliebiges Markup als Button-Inhalt – ersetzt Text und Icon, wenn gesetzt. | | ``ActiveShadow`` | ``bool?`` | | Zeigt Shadow wenn aktiv. | | ``InactiveShadow`` | ``bool?`` | | Zeigt Shadow wenn inaktiv. | ## Geerbte Parameter (FormControlBase) | Parameter | Typ | Standard | Beschreibung | |---|---|---|---| | ``Size`` | ``string`` | ``OoSize.Md`` | Größe der Komponente. Mögliche Werte: OoSize.Xs, OoSize.Sm, OoSize.Md, OoSize.Lg, OoSize.Xl. Wird als CSS-Klasse am Root-Element gesetzt. | | ``Id`` | ``string`` | ``Generator.GenerateRandomHtmlTagID()`` | Eindeutige HTML-ID des Input-Elements. Wird automatisch generiert und kann überschrieben werden (z. B. für Labels mit for-Attribut). | | ``ShowLabel`` | ``bool`` | ``true`` | Blendet das Label über dem Eingabefeld ein oder aus. Standard: true. | | ``IsFloatingLabel`` | ``bool`` | ``true`` | Aktiviert das schwebende Label (Floating Label), das beim Fokus oder bei Eingabe nach oben animiert. Standard: true. | | ``Label`` | ``string`` | | Beschriftung des Eingabefelds. Wird auch als Accessible-Name für Screenreader verwendet. | | ``Placeholder`` | ``string`` | ``" "`` | Platzhaltertext im leeren Eingabefeld. Standard: Leerzeichen (verhindert Floating-Label-Sprung in Chrome). | | ``AutoSaveCallback`` | ``EventCallback`` | | Wird nach jeder Wertänderung ausgelöst und signalisiert der Seite, dass gespeichert werden soll. Kombinierbar mit TriggerAutoSaveCallbackOnlyIfValid. | | ``TriggerAutoSaveCallbackOnlyIfValid`` | ``bool`` | ``true`` | Steuert ob AutoSaveCallback nur bei gültigem Wert ausgelöst wird. Standard: true. | | ``AfterValueChanged`` | ``EventCallback`` | | Wird nach jeder Wertänderung ausgelöst, unabhängig von der Gültigkeit des Werts. Geeignet für Live-Vorschau oder Seiteneffekte. | | ``ShowValidationTooltip`` | ``bool`` | ``false`` | Zeigt Validierungsmeldungen als Tooltip neben dem Feld statt als Text darunter. Standard: false. | ## Hinweise - Immer @bind-Value für Two-Way-Binding verwenden - Für Formular-Validierung ValueExpression="() => _model.Property" setzen - Komponente muss innerhalb eines <Form>- oder <EditForm>-Containers liegen, damit der EditContext greift - AutoSaveCallback wird nach jeder gültigen Änderung ausgelöst, wenn TriggerAutoSaveCallbackOnlyIfValid=true (Standard) - AfterValueChanged wird nach jeder Änderung ausgelöst, unabhängig von der Gültigkeit - ShowValidationTooltip=true zeigt Validierungsmeldungen als Tooltip statt unter dem Feld - Two-Way-Binding: @bind-Active="_istAktiv" für reaktive Zustandsverwaltung - Farben: BaseColor="OoColorPalette.Primary" leitet aktiv/inaktiv automatisch ab - Farben explizit: ActiveStyle="OoColorPalette.Primary" InactiveStyle="OoColorPalette.Neutral.Ghost" - Shadow im aktiven Zustand: ActiveShadow="true" (Standard), InactiveShadow="false" (Standard) - Text + Icon kombinierbar: Text="Favorit" Icon="star" - Appweite Defaults: per CascadingValue<OoDefaults> im Root-Layout vorgeben - Validierung: ValueExpression="() => _model.IstAktiv" für DataAnnotations-Integration