# Xaf_dynamic-form **Repository Path**: null_347_6860/xaf_dynamic-form ## Basic Information - **Project Name**: Xaf_dynamic-form - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-01 - **Last Updated**: 2026-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 原:https://gitee.com/easyxaf/dynamic-form # EasyXaf.DynamicForm DynamicForm 是一个基于 XAF (eXpressApp Framework) 和 Blazor 的动态表单系统。该系统允许通过 XML 模式定义表单结构,并在 Blazor 界面中动态渲染表单。 ## 项目简介 EasyXaf.DynamicForm 提供了一个灵活的动态表单解决方案,支持: - 通过 XML 定义表单结构 - 动态渲染 Blazor 表单组件 - 支持多种字段类型(文本、数字、复选框、表格等) - 支持面板、分组、标签页等复杂布局 - 条件可见性和只读控制 - 表单数据验证 ## 项目结构 ``` EasyXaf.DynamicForm/ ├── EasyXaf.DynamicForm/ # 核心领域模型 │ └── EasyXaf/DynamicForm/ │ ├── Models/ # 表单领域模型 │ │ ├── Column.cs # 表格列 │ │ ├── Element.cs # 基础元素 │ │ ├── Field.cs # 字段 │ │ ├── Form.cs # 表单 │ │ ├── Panel.cs # 面板 │ │ ├── Table.cs # 表格 │ │ ├── Tabs.cs # 标签页 │ │ └── ... │ └── DynamicFormModule.cs # XAF 模块 │ ├── EasyXaf.DynamicForm.Blazor/ # Blazor UI 组件 │ ├── Components/ # 表单组件 │ │ ├── FormComponent.cs # 表单渲染 │ │ ├── FieldComponent.cs # 字段基础组件 │ │ ├── TextBoxComponent.cs # 文本框 │ │ ├── CheckBoxComponent.cs # 复选框 │ │ ├── NumberComponent.cs # 数字框 │ │ └── TableComponent.cs # 表格 │ ├── DynamicFormEditor.cs # 属性编辑器 │ └── ... │ └── EasyXaf.Sample/ # 示例应用程序 ├── EasyXaf.Sample.Blazor.Server/ # Blazor 服务器端 └── EasyXaf.Sample.Module/ # 业务对象模块 ``` ## 核心模型 ### Form (表单) 表单是顶层容器,表示一个完整的动态表单,继承自 Panel。 ### Panel (面板) 面板用于组织表单项目,支持流式布局和图片。 ### Field (字段) 字段是表单的基本输入单元,支持多种编辑器类型: - 文本框 (TextBox) - 数字输入 (Number) - 复选框 (CheckBox) - 表格 (Table) ### Table (表格) 表格用于展示和编辑列表数据,包含多个列 (Column)。 ### Tabs (标签页) 标签页包含多个 TabPanel,用于组织复杂的表单结构。 ## 使用方法 ### 1. 定义表单模式 通过 XML 定义表单结构: ```xml