**Basic**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Split**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Variant**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Sticky**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Icons**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private static List basicIconCustoms =
[
new() { Name = "Custom A", Id = "A", Image = BitIconName.Emoji },
new() { Name = "Custom B", Id = "B", Image = BitIconName.Emoji, Disabled = true },
new() { Name = "Custom C", Id = "C", Image = BitIconName.Emoji2 }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Style & Class**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private static List itemStyleClassCustoms =
[
new() { Name = "Custom A (Default)", Id = "A", Image = BitIconName.Emoji, Style = "color: brown" },
new() { Name = "Custom B (Styled)", Id = "B", Image = BitIconName.Emoji, Style = "color: tomato; border-color: brown; background-color: peachpuff;" },
new() { Name = "Custom C (Classed)", Id = "C", Image = BitIconName.Emoji2, Class = "custom-item" },
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Background**:
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Toggle**:
OnToggleChange: @customToggledValue
private bool customIsToggled;
private bool customToggledValue;
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**NoIcon**:
private List basicIconCustoms =
[
new() { Name = "Custom A", Id = "A", Image = BitIconName.Emoji },
new() { Name = "Custom B", Id = "B", Image = BitIconName.Emoji, Disabled = true },
new() { Name = "Custom C", Id = "C", Image = BitIconName.Emoji2 }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Templates**:
Custom Header!
@item.Name (@item.Id)
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
public RenderFragment? Fragment { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private List itemTemplateCustoms =
[
new() { Name = "Add", Id = "add-key", Image = BitIconName.Add },
new() { Name = "Edit", Id = "edit-key", Image = BitIconName.Edit },
new() { Name = "Delete", Id = "delete-key", Image = BitIconName.Delete }
];
private List itemTemplateCustoms2 =
[
new()
{
Name = "Add", Id = "add-key", Image = BitIconName.Add,
Fragment = (item => @
@item.Name (@item.Id)
)
},
new()
{
Name = "Edit", Id = "edit-key", Image = BitIconName.Edit,
Fragment = (item => @
@item.Name (@item.Id)
)
},
new()
{
Name = "Delete", Id = "delete-key", Image = BitIconName.Delete,
Fragment = (item => @
@item.Name (@item.Id)
)
}
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false },
Template = { Name = nameof(Operation.Fragment) }
};
**Events**:
Changed custom item: @eventsChangedCustom
Clicked custom item: @eventsClickedCustom
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private List basicCustomsOnClick =
[
new() { Name = "Custom A", Id = "A", Image = BitIconName.Emoji },
new() { Name = "Custom B", Id = "B", Image = BitIconName.Emoji },
new() { Name = "Custom C", Id = "C", Image = BitIconName.Emoji2 }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Binding**:
private Operation twoWaySelectedCustom = default!;
private bool oneWayIsOpen;
private bool twoWayIsOpen;
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private static List isSelectedCustoms =
[
new() { Name = "Custom A", Id = "A", Image = BitIconName.Emoji },
new() { Name = "Custom B", Id = "B", Image = BitIconName.Emoji },
new() { Name = "Custom C", Id = "C", Image = BitIconName.Emoji2, IsSelected = true }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**External Icons**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public BitIconInfo? IconInfo { get; set; }
public bool Disabled { get; set; }
}
private static List externalIconCustoms =
[
new() { Name = "Add", IconInfo = "fa-solid fa-plus" },
new() { Name = "Edit", IconInfo = BitIconInfo.Css("fa-solid fa-pen") },
new() { Name = "Delete", IconInfo = BitIconInfo.Fa("solid trash") }
];
private BitMenuButtonNameSelectors nameSelectors2 = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
Icon = { Selector = i => i.IconInfo },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Color**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**Size**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private List basicCustoms =
[
new() { Name = "Custom A", Id = "A" },
new() { Name = "Custom B", Id = "B", Disabled = true },
new() { Name = "Custom C", Id = "C" }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};
**RTL**:
public class Operation
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Image { get; set; }
public bool Disabled { get; set; }
}
private static List rtlCustoms =
[
new() { Name = "گزینه الف", Id = "A", Image = BitIconName.Emoji },
new() { Name = "گزینه ب", Id = "B", Image = BitIconName.Emoji },
new() { Name = "گزینه ج", Id = "C", Image = BitIconName.Emoji2 }
];
private BitMenuButtonNameSelectors nameSelectors = new()
{
Text = { Name = nameof(Operation.Name) },
Key = { Name = nameof(Operation.Id) },
IconName = { Name = nameof(Operation.Image) },
IsEnabled = { Selector = m => m.Disabled is false }
};