咱们与来自世界各地的客户合做,咱们发现许多客户但愿在他们的解决方案中实现相似的功能。咱们收集了一些最多见的请求,并建立了一个可重用的模块,咱们但愿与你们分享!git
欢迎您在应用程序中下载,使用,修改和分发这些模块,以用于我的或商业应用程序。若是您决定使用这些模块,咱们会询问如下内容:github
这些模块是使用XPO开发的,并非实体框架友好的。它们按原样提供,不提供任何形式的担保。咱们但愿您会发现它们对您的解决方案有用。数据库
目前,您能够下载Visual Studio项目并将其包含在您的解决方案中。在模块中引用它们,并像在任何其余XAF模块中同样经过Module Designer包含它们。某些功能须要从DevExpress中包含其余模块,以下所示。express
若是您愿意,能够从GitHub上的Llamachant Framework(XAF)存储库中获取它们框架
扩展功能 |
||
审计跟踪查看 | Win和Web | |
审计跟踪恢复(实验) | Win和Web | |
跟踪对象 | Win和Web | |
Singleton Business Objects | Win和Web | |
视觉组件 |
||
字体大小 | 只Win | |
标签中的收集计数 | Win和Web | |
SVG皮肤调色板 | 只Win | |
工具栏选项 | Win和Web | |
列表视图行处理选项 | Win和Web | |
删除非聚合集合(连接和取消连接) | Win和Web | |
打开对象动做标题 | 只Win | |
摘要面板选项 | 只Win | |
平滑的启动画面加载 | 只Win |
许多人将审计跟踪模块添加到他们的解决方案中,但毫不容许用户与之交互。在此模块中,您能够启用该选项以从任何详细信息视图查看审计跟踪。View Audit Trail操做在Tools容器中可用,并为用户提供一个包含完整审核历史记录的弹出窗口。管理View Audit Trail操做的可见性有3个设置:None,All,UserSpecific。这些选项在Model文件的Options节点中可用。若是要使“审计跟踪”操做特定于用户,请在自定义用户类上实现IAuditTrailUser接口。编辑器
咱们都有那个电话,其中一个用户错误地删除了一条记录,须要回复记录。使用XPO的延迟删除选项,记录被标记为已删除而不是实际被删除。惟一的复杂因素是对象之间的连接一般在删除过程当中被清除。这可能致使数小时试图追逐全部旧关系。使用此新模块,您能够快速搜索和还原已删除的对象及其全部相关对象。这被认为是实验性的,因此首先备份你的数据库。此模块还须要完整审核和有效的延迟删除策略才能正常工做。咱们建议您将此做为技术人员的最后手段 - 而不是用户手中。在“模型文件”的“选项”节点中启用此选项。ide
咱们但愿将此功能视为Audit Trail Junior。建立,修改和删除信息直接存储在对象表中的对象上,这样您就能够快速查看谁作了什么。咱们建议您建立自定义Base对象并实现ITrackedObject接口。使用TrackedObjectHelper快速设置跟踪对象的详细信息。咱们将此做为一个带帮助程序的接口提供,所以您能够轻松地将跟踪添加到不从您本身的自定义Base对象继承的对象。工具
咱们的客户一般不会按名称要求这些,但咱们将Singleton Business Objects添加到咱们建立的几乎全部应用程序中。从本质上讲,单例业务对象被设计为一个只有一个的业务对象。这是一种直接在数据库中存储设置的好方法,能够由最终用户快速配置。咱们所作的是阻止显示这些对象的列表视图,而是向用户显示详细信息视图。咱们还阻止用户建立或删除这些对象。学习
要实现单例业务对象,请在对象上实现ISingletonBO接口。字体
咱们的客户要求一种方法来增长应用程序字体大小。使用咱们的模块,您能够从“模型文件”中的“选项”节点启用“字体大小”操做。您还能够在名为“字体大小”的“选项”下的新节点中定义新的字体大小。此解决方案仅适用于Win应用程序,由于Web修改将经过CSS完成。
这是咱们添加到全部应用程序的一个可视元素,由于它能够帮助用户理解和定位他们的数据。包含集合的任何选项卡组项将在选项卡名称中显示该集合中项的计数。若是集合中存在项目,此功能还提供了使选项卡标题变为粗体的选项。在“模型文件”的“选项”节点中启用这些选项。
DevExpress在其组件的第17版中引入了SVG外观。咱们首先对“Bezier”主题的外观印象深入,由于它很是干净,简洁,并在对话框周围吹嘘一些漂亮的阴影。直到咱们阅读了更多关于新SVG主题选项的内容,咱们才意识到在这个主题中隐藏了更多的主题选项。为了解锁这些新的Palette选项,咱们在DevExpress网站上提供了一个控制器,其中包含一些控制器的微小变化。选择SVG主题后,默认状况下可使用此操做。
若是要隐藏用户的工具栏并阻止它们再次显示,请在列表视图上使用新的ToolbarVisible和AllowToolbarVisibilityToggle选项。若是将AllowToolbarVisibilityToggle设置为false,工具栏将消失并再次显示再次显示的操做。
在某些状况下,您不但愿用户从列表视图中打开详细信息视图。咱们在模型中添加了一个选项以启用此功能。尝试在列表视图的模型中设置AllowOpenDetailView选项。
咱们常常看到用户删除对象而不是在使用非聚合的集合时将其与集合取消连接。对于那些不熟悉聚合与非聚合集合的人,能够这样考虑:聚合集合是集合中的项目只能属于包含集合的对象的集合。一个例子是客户端上的联系人列表。非聚合集合是能够将项目拉入或推回到项目池中的集合。例如,参加会议的工做人员名单。从视觉上看,Aggregated和Non-Aggregated集合之间的惟一区别是Link和Unlink操做的可用性。在功能上,它们的行为不一样,特别是在克隆和删除过程当中。若是删除具备聚合集合的项目,全部聚合项目也将被删除。若是要克隆项目,还会克隆聚合集合中全部项目的副本。
防止在非聚合集合上删除的选项能够在2个位置设置:
虽然这是一个很是小的项目,但它常常出现。默认状况下,OpenObjectAction的标题是“Open Related Record”。由于它位于功能区或视图的工具栏中,因此咱们所谈论的相关记录并不老是很清楚。为了解决这个问题,咱们更新标题以在选择项目时显示对象类型名称。所以,若是您单击“联系人详细信息视图”中的“客户”属性,则该操做将显示“Open Client”。您能够在模型文件中的“本地化” - >“文本” - >“OpenObjectWithCaption”项中更改标题格式。
在模型文件的“选项”节点中启用ShowTypeNameInOpenObject选项以启用此新标题更新。最后,若是您已经或须要建立本身的继承自OpenObjectController的控制器,请将其更改成继承自OpenObjectCaptionController。
所以,咱们常常发现本身试图肯定列表视图中有多少项,或列的总和是什么,但为了启用网格页脚(咱们称之为摘要面板),您必须进入模型而且为该视图启用它。此选项容许您经过右键单击列标题在网格中打开或关闭面板。目前,这些选项可用于网格列表编辑器和树列表编辑器。能够在“模型文件”的“选项”节点中或“模型文件”中的各个“列表视图”节点上全局启用这些选项。
品牌化应用程序老是一个好主意。建立启动画面有几个选项,如DevExpress在文章如何使用自定义启动画面中所述。咱们一直倾向于在启动画面上添加Marquee Progress Bar,由于一个小动画对最终用户有很大的影响。咱们还但愿提供有关加载过程当中发生的状况的更新。为了简化此过程,咱们添加了CustomSplashScreen对象,您可使用该对象显示自定义初始屏幕并经过平滑动画接收更新。
要实现自定义初始屏幕:
文件类型:ZIP