dotNet.AntdUI 的导航类组件用于组织页面层级、入口菜单、分页与流程状态。常用组件包括:
Breadcrumb:面包屑,显示当前位置层级。Dropdown:下拉菜单按钮,适合动作菜单。Menu:侧边/顶部导航菜单。PageHeader:页面标题区,可承载返回按钮、描述、额外操作。TabHeader:轻量多标签页头;只管理标签头,不自动管理内容页。Tabs:完整标签页容器,适合管理多个内容页。Pagination:分页控件,只负责页码 UI,不自动切数据。Steps:步骤条,展示流程进度。| 需求 | 推荐组件 |
|---|---|
| 显示“首页 / 列表 / 详情”路径 | Breadcrumb |
| 顶部/侧边主导航 | Menu |
| 按钮点击后弹出动作列表 | Dropdown |
| 数据表格分页 | Pagination + 自己切换数据 |
| 表单向导、审批流程 | Steps |
| 只需要标签头,内容区自己控制 | TabHeader |
| 需要标签头 + 内容页容器 | Tabs |
| 页面标题、返回、描述 | PageHeader |
import win.ui;
import dotNet.AntdUI;
import System.Drawing;
var winform = win.form(text="导航组件组合";right=860;bottom=520);
winform.add(host={cls="custom";left=0;top=0;right=860;bottom=520;z=1});
var baseForm = AntdUI.BaseForm(winform.host);
var header = AntdUI.PageHeader();
header.Parent = baseForm;
header.Location = System.Drawing.Point(0,0);
header.Size = System.Drawing.Size(860,72);
header.Text = "订单详情";
header.Description = "PageHeader 负责页面标题与描述";
var breadcrumb = AntdUI.Breadcrumb();
breadcrumb.Parent = baseForm;
breadcrumb.Location = System.Drawing.Point(16,78);
breadcrumb.Size = System.Drawing.Size(500,40);
for i,text in ["首页","订单","详情"]{
var item = AntdUI.BreadcrumbItem();
item.ID = "nav" + i;
item.Text = text;
breadcrumb.Items.Add(item);
}
var menu = AntdUI.Menu();
menu.Parent = baseForm;
menu.Location = System.Drawing.Point(0,128);
menu.Size = System.Drawing.Size(200,392);
var m1 = AntdUI.MenuItem("概览");
var m2 = AntdUI.MenuItem("设置");
menu.Items.Add(m1);
menu.Items.Add(m2);
breadcrumb.ItemClick = function(sender,e){
if(e.Item) winform.text = "面包屑:" + e.Item.Text;
}
menu.ItemClick = function(sender,e){
if(e.Item) winform.text = "菜单:" + e.Item.Text;
}
winform.show();
win.loopMessage();
AntdUI.Button(winform.host) 这样嵌入 custom 宿主。AntdUI.BaseForm(winform.host),然后让子控件 Parent = baseForm。Pagination 不会自动切换 Table.DataSource。常见做法:
Pagination.ValueChanged。Current 与 PageSize 截取当前页。TabHeader:轻量标签头,常用于“页签按钮 + 自己管理内容区”。Tabs:完整容器,使用 TabPage 管理内容页,更接近 WinForms TabControl。如果要搭建类似后台工作台的完整骨架,可参考高级示例:Menu + Breadcrumb + Tabs 导航工作台。