Extras
ContextMenu
Bit.BlazorUI.ExtrasRightClickMenuPopupMenuShortcutMenu
BitContextMenu opens a menu over an area of the page rather than from a button: where the area is right-clicked, or from the keyboard with Shift+F10 or the Menu key while the focus is in it. The menu is a BitMenuButton's, with its items, keyboard, submenus and check and radio items.
Notes
To use this component, you need to install the
Bit.BlazorUI.Extras(opens in a new tab)
nuget package, as described in the Optional steps of the
Getting started page.
The area is a tab stop of its own, so the keyboard can reach it and open the menu. While the menu is open, a
right-click on the area moves it there, and a click or a right-click anywhere else on the page closes it.
Escape, Tab or an item hands the focus back to where it was in the area.
Usage
Every example is live. Open its code to see exactly what produced the component running underneath.
Basic
Right-click the box, or focus it with Tab and press Shift+F10 or the Menu key. The menu opens at the point,
with the focus on its first item.
Right-click here
Clicked item:
Options
The items can be declared as BitMenuButtonOption components in Options, with everything a menu button's items
have: icons, separators, submenus, and check and radio items.
Right-click here
Clicked item: , show grid: True
Custom items
Items of a class of the app's own, mapped through NameSelectors.
Right-click here
Clicked item:
Rows
One context menu serves a whole list: each row records itself as the one the menu is for, on its own right-click
and on its focus (for Shift+F10). From the keyboard the menu opens at the focused row.
report.pdf
budget.xlsx
photo.jpg
Last action:
Binding & OpenAt
IsOpen is two-way bindable, and closes the menu when set to false. OpenAt opens it from code at a point of
the viewport, or at the point of a mouse event.
Right-click here
IsOpen: False
Disabled
A disabled context menu leaves the area to the browser's own menu.
Right-click here
Style & Class
The area takes Style and Class, and the menu MenuStyles and MenuClasses, which are a menu button's
(BitMenuButtonClassStyles), and AriaLabel names the menu.
Right-click here
RTL
Use BitContextMenu in right-to-left (RTL).
اینجا کلیک راست کنید
API
Every parameter, public member, sub-class and enum this component exposes.
BitContextMenu parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| ChildContent | RenderFragment? | null | The content of the area the menu is opened over. |
| CloseOnItemClick | bool | true | Whether the menu closes once one of its items is clicked. |
| IsOpen | bool | false | Whether the menu is open. Two-way bindable. |
| Items | IEnumerable<TItem> | [] | The items of the menu. |
| ItemTemplate | RenderFragment<TItem?>? | null | The template the items of the menu are rendered with. |
| MenuClasses | BitMenuButtonClassStyles? | null | Custom CSS classes for the different parts of the menu. Those of the parts of the menu button's own button do nothing here, since the button is never shown. |
| MenuStyles | BitMenuButtonClassStyles? | null | Custom CSS styles for the different parts of the menu. Those of the parts of the menu button's own button do nothing here, since the button is never shown. |
| NameSelectors | BitMenuButtonNameSelectors<TItem>? | null | Names the members of a custom item class to read the text, icon, children and the rest of an item from. |
| OnItemClick | EventCallback<TItem> | The callback for when an item of the menu is clicked. | |
| Options | RenderFragment? | null | The items of the menu, declared as BitMenuButtonOption components. |
BitContextMenu public members
| Name | Type | Default value | Description |
|---|---|---|---|
| OpenAt | (double x, double y) => Task | Opens the menu at the given point of the viewport, in CSS pixels, or moves it there when it is open already. It is still placed to stay on the screen, and the focus is taken into it. | |
| OpenAt | (MouseEventArgs e) => Task | Opens the menu at the point of a mouse event (its clientX and clientY), or moves it there when it is open already. |
BitComponentBase parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| AriaLabel | string? | null | Gets or sets the accessible label for the component, used by assistive technologies. |
| Class | string? | null | Gets or sets the CSS class name(s) to apply to the rendered element. |
| Dir | BitDir? | null | Gets or sets the text directionality for the component's content. |
| Disabled | bool | false | Gets or sets a value indicating whether the component is disabled and cannot respond to user interaction. |
| ForceAnimation | bool | false | Gets or sets a value indicating whether the component's animations play at their full duration even when reduced motion is requested. |
| HtmlAttributes | Dictionary<string, object> | new Dictionary<string, object>() | Captures additional HTML attributes to be applied to the rendered element, in addition to the component's parameters. An attribute written on the component wins over an entry of the same name. |
| Id | string? | null | Gets or sets the unique identifier for the component's root element. |
| Style | string? | null | Gets or sets the CSS style string to apply to the rendered element. |
| TabIndex | string? | null | Gets or sets the tab order index for the component when navigating with the keyboard. |
| Visibility | BitVisibility | BitVisibility.Visible | Gets or sets the visibility state (visible, hidden, or collapsed) of the component. |
BitComponentBase public members
| Name | Type | Default value | Description |
|---|---|---|---|
| UniqueId | Guid | Guid.NewGuid() | Gets the readonly unique identifier for the component's root element, assigned when the component instance is constructed. |
| RootElement | ElementReference | Gets the reference to the root HTML element associated with this component. |
BitVisibility enum
| Name | Value | Description |
|---|---|---|
| Visible | 0 | The content of the component is visible. |
| Hidden | 1 | The content of the component is hidden, but the space it takes on the page remains (visibility:hidden). |
| Collapsed | 2 | The component is hidden (display:none). |
BitDir enum
| Name | Value | Description |
|---|---|---|
| Ltr | 0 | Ltr (left to right) is to be used for languages that are written from the left to the right (like English). |
| Rtl | 1 | Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic). |
| Auto | 2 | Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element. |
Feedback
Found a mistake, a gap, or something that could be clearer? Every page and every component is one click from its source.