BzContextMenu
کانتکس منو
وقتی راست کلیک میکنی منو هایی که مد نظرت هست همونجا باز میشه برات
دکمهفرم و اینپوتگروه اینپوتگروه دکمهانتخاب تاریختکمیل خودکارکارتنمایشلودینگدیالوگاعلانپیام عملیاتمنو کشوییکانتکس منوصفحه بندیلایت باکسدرختدیتاگریدنمودارتب و آکاردیوننویگیشن بارسایدبارتایم لاینویزارداسلایدرآپلودرادیتور متنتقویمابزار ایرانی
کامپوننتی پیدا نشد.
منوی ساده
یک لیست BzMenuItem بده و هر چیزی را داخل ChildContent قرار بده. آیتمی با متن خط تیره به جداکننده تبدیل میشه.
روی این کادر راست کلیک کن
@using BzCore.Components.Overlay
@using BzCore.Components.Navigation
<BzContextMenu Items="_ctx">
<div class="ctx-target">روی این کادر راست کلیک کن</div>
</BzContextMenu>
@code {
private List<BzMenuItem> _ctx = new()
{
new() { Text = "ویرایش", Icon = "fa-solid fa-pen" },
new() { Text = "کپی", Icon = "fa-solid fa-copy" },
new() { Text = "-" }, // separator
new() { Text = "حذف", Icon = "fa-solid fa-trash" },
};
}با آیکون، جداکننده و رویداد
هر آیتم میتونه Icon و OnClick داشته باشد.
این یکی رویداد داره — امتحان کن
| عضو | توضیح |
|---|---|
Items | لیست آیتم های منو |
ChildContent | ناحیه ای که راست کلیک را میگیره |
BzMenuItem.Text | متن؛ مقدار خط تیره یعنی جداکننده |
BzMenuItem.Icon | کلاس آیکون FontAwesome |
BzMenuItem.OnClick | رویداد انتخاب آیتم |
@using BzCore.Components.Overlay
@using BzCore.Components.Navigation
<BzContextMenu Items="_ctx">
<div class="ctx-target">این یکی رویداد داره — امتحان کن</div>
</BzContextMenu>
@if (_last is not null)
{
<p>آخرین انتخاب: <b>@_last</b></p>
}
@code {
private string? _last;
private List<BzMenuItem> _ctx = new();
protected override void OnInitialized()
{
_ctx = new()
{
new() { Text = "ویرایش", Icon = "fa-solid fa-pen",
OnClick = () => Pick("ویرایش") },
new() { Text = "اشتراک گذاری", Icon = "fa-solid fa-share-nodes",
OnClick = () => Pick("اشتراک گذاری") },
new() { Text = "-" },
new() { Text = "حذف", Icon = "fa-solid fa-trash",
OnClick = () => Pick("حذف") },
};
}
private void Pick(string name)
{
_last = name;
StateHasChanged(); // Action is not an EventCallback, so render manually
}
}