Skip to main content

BnCheckbox

Namespace: BlazorNative.Components

A checkbox. Renders as a native CheckBox on Android — and as a UISwitch on iOS, because iOS has no native checkbox.

public class BnCheckbox : BnLayoutItem, Microsoft.AspNetCore.Components.IComponent, Microsoft.AspNetCore.Components.IHandleEvent, Microsoft.AspNetCore.Components.IHandleAfterRender, BlazorNative.Core.IForwardsUiEvent

Inheritance Object → ComponentBase → BnLayoutItem → BnCheckbox
Implements IComponent, IHandleEvent, IHandleAfterRender, IForwardsUiEvent

Remarks:

That difference is deliberate and worth understanding before you choose between this and BnSwitch: on iOS the two are the same control, so they look identical there and differ only on Android. Both keep the same parameters, the same events and the same layout frames — a custom-drawn iOS checkbox would buy matching pixels at the price of not being native, which is the opposite of the point.

It is a leaf with the platform's own intrinsic size, so you do not give it a width or a height. Use BnView around it to place or pad it.

<BnCheckbox @bind-Checked="_accepted" />

@code {
private bool _accepted;
}

Properties​

Checked​

Whether the control is on.

public bool Checked { get; set; }

Property Value​

Boolean

CheckedChanged​

Raised with the new state when the user toggles it — the write-back half of the @bind-Checked pair.

public EventCallback<bool> CheckedChanged { get; set; }

Property Value​

EventCallback<Boolean>

Enabled​

Set false to show the platform's disabled control and stop it responding. Default true.

public bool Enabled { get; set; }

Property Value​

Boolean

BackgroundColor​

Fill colour behind the component. Null leaves it transparent.

public string? BackgroundColor { get; set; }

Property Value​

String

Margin​

Space outside the component, between it and its siblings. Null = none.

public BnAutoLength? Margin { get; set; }

Property Value​

BnAutoLength?

Remarks:

auto is legal here and absorbs free space, which re-centres the node.

AlignSelf​

Cross-axis alignment for this item alone, overriding the parent's. Null = inherit.

public FlexAlign? AlignSelf { get; set; }

Property Value​

FlexAlign?

Grow​

Share of leftover space this item takes (unitless ratio). Null = Yoga's default (0).

public float? Grow { get; set; }

Property Value​

Single?

Shrink​

Share of overflow this item gives up (unitless ratio). Null = Yoga's default (1).

public float? Shrink { get; set; }

Property Value​

Single?

Basis​

Starting main-axis size before grow/shrink. Null = auto.

public BnAutoLength? Basis { get; set; }

Property Value​

BnAutoLength?

Width​

Box width. Null = auto.

public BnAutoLength? Width { get; set; }

Property Value​

BnAutoLength?

Height​

Box height. Null = auto.

public BnAutoLength? Height { get; set; }

Property Value​

BnAutoLength?

MinWidth​

Lower bound on width. Null = unset.

public BnLength? MinWidth { get; set; }

Property Value​

BnLength?

MaxWidth​

Upper bound on width. Null = unset.

public BnLength? MaxWidth { get; set; }

Property Value​

BnLength?

MinHeight​

Lower bound on height. Null = unset.

public BnLength? MinHeight { get; set; }

Property Value​

BnLength?

MaxHeight​

Upper bound on height. Null = unset.

public BnLength? MaxHeight { get; set; }

Property Value​

BnLength?

Position​

Positioning scheme. Null = Yoga's default (relative).

public FlexPosition? Position { get; set; }

Property Value​

FlexPosition?

Top​

Top inset. Null = unset.

public BnLength? Top { get; set; }

Property Value​

BnLength?

Right inset. Null = unset.

public BnLength? Right { get; set; }

Property Value​

BnLength?

Bottom​

Bottom inset. Null = unset.

public BnLength? Bottom { get; set; }

Property Value​

BnLength?

Left​

Left inset. Null = unset.

public BnLength? Left { get; set; }

Property Value​

BnLength?

Constructors​

BnCheckbox()​

public BnCheckbox()