商信互联
甲默认XAF溶液含有一种与平台无关的(共享的)模块和依赖于平台的每个应用程序的模块。本主题描述如何从外部库向共享模块添加额外的模块和业务对象,以扩展应用程序的功能。
使用模块设计器或应用程序设计器添加或删除额外的模块。双击Module.cs(Module.vb)文件以从模块项目中调用模块设计器。要调用应用程序设计器,请在应用程序项目中双击WinApplication.cs(WinApplication.vb)或WebApplication.cs(WebApplication.vb)文件。
请按照以下步骤将“条件外观和验证”模块添加到共享模块,并设置它们与业务对象的交互方式。
将“条件外观和验证”模块从“工具箱”拖到设计器的“必需的模块”部分。
打开SimpleProjectManager.Module \ BusinessObjects \ Planning.cs(vb)文件。将AppearanceAttribute和RuleCriteriaAttribute应用于ProjectTask类,如下所示:
using DevExpress.ExpressApp.ConditionalAppearance;
using DevExpress.Persistent.Validation;
using System.Drawing;
// ...
[Appearance("Completed1", TargetItems = "Subject",
Criteria = "Status = 'Completed'", FontStyle = FontStyle.Strikeout, FontColor = "ForestGreen")]
[Appearance("Completed2", TargetItems = "*;Status;AssignedTo",
Criteria = "Status = 'Completed'", Enabled = false)]
[Appearance("InProgress", TargetItems = "Subject;AssignedTo",
Criteria = "Status = 'InProgress'", BackColor = "LemonChiffon")]
[Appearance("Deferred", TargetItems = "Subject",
Criteria = "Status = 'Deferred'", BackColor = "MistyRose")]
[RuleCriteria("EndDate >= StartDate")]
public class ProjectTask : BaseObject {
// ...
}
Imports DevExpress.ExpressApp.ConditionalAppearance
Imports DevExpress.Persistent.Validation
Imports System.Drawing
' ...
<Appearance("Completed1", TargetItems := "Subject", Criteria := "Status = 'Completed'", _
FontStyle := FontStyle.Strikeout, FontColor := "ForestGreen"), _
Appearance("Completed2", TargetItems := "*;Status;AssignedTo", _
Criteria := "Status = 'Completed'", Enabled := False), _
Appearance("InProgress", TargetItems := "Subject;AssignedTo", _
Criteria := "Status = 'InProgress'", BackColor := "LemonChiffon"), _
Appearance("Deferred", TargetItems := "Subject", _
Criteria := "Status = 'Deferred'", BackColor := "MistyRose"), _
RuleCriteria("EndDate >= StartDate")> _
Public Class ProjectTask
Inherits BaseObject
' ...
End Class
运行WinForms或ASP.NET应用程序并创建几个项目任务。添加的模块根据指定的设置影响应用程序的外观和验证逻辑。
一些内置的XAF模块将DevExpress WinForms和ASP.NET可视组件集成到您的应用程序中。例如,XAF提供了适用于常见业务场景的模块,包括数据网格和编辑器,导航,菜单和布局,报表,图表,数据透视网格,树形视图,日历和调度程序等。有关更多信息,请参阅Extra Modules教程。
您可以从“业务类库”向您的应用程序添加业务类。XAF根据此类的结构生成UI元素。以下步骤显示了如何从业务类库中添加Person类,以及如何创建Employee导航项以在列表中显示Person对象。
在“导出的类型”部分中,展开“参考的装配体| DevExpress.Persistent.BaseImpl.v 19.2节点。应用程序模型中包含的类以粗体标记。该人节点被标记为粗体,因为应用程序模型有ProjectTask.AssignedTo和Project.Manager这种类型的属性。
要导出类型,请选择相应的类,然后按Space或右键单击该类,然后在调用的上下文菜单中选择“在应用程序中使用类型”。在模块设计器中进行更改后,重新生成项目。
调用SimpleProjectManager.Module项目的模型编辑器,然后导航到NavigationItems |。物品| 规划| 项目节点。创建一个新的导航项,并将其标题属性设置为“ Employee”,将“视图”设置为“ Person_ListView”。请参阅“将项目添加到导航控件”主题,以获取有关如何添加导航项目的更多信息。
运行一个应用程序。导航控件在“计划”部分显示新项目。
您还可以使用第三方模块或创建自己的可重用模块以在多个XAF应用程序中使用。