XAF之PropertyEditor

XAF之实现子导航栏 点击导航栏某项,出现一个子导航栏,如图:    实现原理其实很简单,主导航栏的"Navigation System"对应的也是一个DetailView,只不过这个DetailView包含一个Action类型的属性,如果不为该属性设计PropertyEditor,那么该项是无法通过UI编辑的,所以,说白了,就是为Action属性设计一个PropertyEditor。下面讲述一下如何完成这一 阅读详情

    Detail View 使用一系列的PropertyEditor表现对象,对象的每一个属性都绑定到一个PropertyEditor。XAF自带了很多PropertyEditor。所有PropertyEditor的基类是PropertyEditor类。它提供了基本功能:

1.在UI总代表PropertyEditor的一个control,利用该control可以读写绑定的属性。

2.PropertyEditor使用MemberInfo属性获取它所代表的对象的属性的信息。

3.这里列举了一些通过PropertyEditor的control显示的属性: IsPassword, EditMask, DisplayFormat, MaxLength, AllowEdit, IsCaptionVisible, ImmediatePostData and Caption.

注意:

      自定义的PropertyEditor需要在module project中实现,且要加上PropertyEditorAttribute特性。这样才能被加载到Application Model中,从而使用到UI中。

实现PropertyEditor的典型步骤如下:

1.重写CreateControlCore方法。创建并返回要求的control的实例。订阅该control的ValueChanged事件来调用WriteValue方法。

2.重写GetControlValueCore方法。返回l特定于contro的值。

3.重写ReadValueCore方法。将PropertyEditor的PropertyValue附加到control的绑定的属性上。

下面这个例子是为SingleChoiceAction类型的属性创建一个PropertyEditor,且是以Navigation形式查看:

其中 IActionContainer.Register 方法是创建代表action的control,如ActionContainerBarItem Action Container会为SimpleAction创建 BarButtonItem ,为 SingleChoiceAction创建BarEditItemcontrol, etc.

[PropertyEditor(typeof(SingleChoiceAction), FeatureCenterEditorAliases.NavigationContainerEditor)]
	public class NavigationActionContainerPropertyEditor : PropertyEditor {
		private NavigationActionContainer NavigationActionContainer {
			get { return (NavigationActionContainer)Control; }
		}
		private NavigationObject NavigationObject {
			get {
				return (NavigationObject)CurrentObject;
			}
		}
		protected override object CreateControlCore() {
			return new NavigationActionContainer();
		}
		protected override void ReadValueCore() {
			NavigationActionContainer.Register((SingleChoiceAction)PropertyValue, NavigationObject.NavigationStyle);
		}
		protected override object GetControlValueCore() {
			return null;
		}
        public NavigationActionContainerPropertyEditor(Type objectType, IModelMemberViewItem info) : base(objectType, info) { }
	}
下面给出另一个例子,为int类型的属性设计一个星级PropertyEditor:



using System;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Win.Editors;
//...
[PropertyEditor(typeof(Int32), false)]
public class CustomIntegerEditor : WinPropertyEditor {
StarRatingControl control = null;
public CustomIntegerEditor(Type objectType, IModelMemberViewItem info) :
base(objectType, info) { }
protected override object CreateControlCore() {
control = new StarRatingControl();
control.SelectedStarChanged += new EventHandler(control_SelectedStarChanged);
control.MaximumSize = control.MinSize;
ControlBindingProperty = "SelectedStar";
return control;
}
private void control_SelectedStarChanged(object sender, EventArgs e) {
OnControlValueChanged();
}
protected override void Dispose(bool disposing) {
if(control != null) {
control.SelectedStarChanged -= new EventHandler(control_SelectedStarChanged);
}
base.Dispose(disposing);
}
}

在DevExpress XAF中产生序列和导入EXCEL文件例子 在DevExpress XAF中产生序列和导入EXCEL文件例子 本人收藏了3年的资源 现放出 都是总结了很多系统 软件项目实施过程中的经验的 慢慢积累的 立即下载

相关推荐

xaf 实体类属性整合

在开发中查找网上的属性整合出来一份xaf 实体类的文档

XAF中的自定义属性编辑器

转自:http://www.cnblogs.com/lauyee/archive/2010/06/21/1756978.html XAF是什么,如果您没听说过,本文可能对你没有帮助,但如果你正在查找同样问题的解决方法希望对你有所帮助。(注:所举得例子全部是Web工程下的,Win工程原理相同) XAF自动从业务类生成UI。自动的根据业务类各属性的类型生成所需的属性编辑器。比如...

weixin_34006965的博客 293

xaf 状态机及角色设置的举例说明

xaf 状态机及角色设置的举例说明, xaf 状态机及角色设置的举例说明

XAF应用开发教程(三)业务对象模型之引用类型与关联关系

转载自:http://www.cnblogs.com/foreachlife/p/xafonetomany.html 本节介绍信息系统开发中最常见的问题,引用关系,一对多关系,多对多关系。   以客户信息为例,客户通常需要客户分类,如VIP客户,普通客户,潜在客户。当然,我们可以定义枚举类型进行定义出这个类型,并在客户类上面定义对应的属性。 但枚举类型增加值需要修改程序,而客户分类

feigames学习Odoo历程 1711

XAF状态机的使用.docx

XAF 状态机工作流 使用教程和详细注意事项,东西不错

XAF-代码中更改EditorType和MasterDeatilModel

XAF-代码中更改EditorType和MasterDeatilModel,在代码中修改。

Spring自定义属性解析,PropertyEditor的使用

Spring自定义属性解析,PropertyEditor的使用(例子:时间戳转LocalDate对象)

min_chaoxi的博客 458

当 AI + 可视化融入消防:开启智能消防新时代

总结来说,AI + 可视化技术融入消防,开启了智能消防新时代。它以精准预警、高效救援和全面资源管理,革新消防工作方式。从前期规划到系统搭建,再到后期运维,每个环节都为提升消防能力奠定基础。尽管面临技术成本、数据安全和人员适应等挑战,但随着技术发展和应用推广,这些问题将逐步解决。相信在 AI + 可视化助力下,消防领域将不断进步,为人们创造更安全生活环境,有效抵御火灾威胁。

2401_87844374的博客 1220

XAF-UI元素概述

xaf系列

ljq1972的专栏 291

Dify插件实战:实时渲染AI生成的HTML/SVG/Canvas代码

在现代Web开发与AI应用集成中,前端渲染技术是实现动态内容展示的核心。其原理在于浏览器引擎解析HTML、CSS、JavaScript等代码,并将其转换为可视化的用户界面。这项技术的价值在于极大提升了开发效率与用户体验,允许开发者快速构建和迭代交互式应用。在AI应用开发领域,尤其是大语言模型(LLM)集成场景,如何将模型生成的**结构化代码**(如描述UI的HTML或数据图表的SVG)实时转化为可视化组件,成为一个关键需求。这直接关系到**Dify**等低代码AI平台能否提供流畅的、所见即所得的交互体验。本

weixin_42545664的博客 498

二阶高通滤波器硬件设计:5种RC到有源方案对比与选型

在传感器前端和音频信号调理中,二阶高通滤波器是抑制直流偏移与低频干扰的关键模块。其设计核心围绕截止频率、品质因数Q、增益与噪声四个指标展开,其中Q值决定滤波器在转折频率附近的响应形状,如Butterworth最大平坦响应需Q=0.707。从纯无源RC电路到引入运放的有源拓扑,演变逻辑在于解决负载效应、提供增益并借助反馈提升Q值。实际工程中,RC级联、VCVS(Sallen-Key)、状态变量及回转器模拟电感等方案各有适用场景:RC电路简单但Q值受限,Sallen-Key单运放即可实现高Q,状态变量适合Q值独

weixin_32770423的博客 99

学习012-04-08-01 Property Editors(属性编辑器)

XAF附带了一组不同的属性编辑器,涵盖了大多数数据管理方案(请参阅内置编辑器支持的数据类型)。此外,当内置编辑器不适合您的需求时,XAF支持使用自定义属性编辑器。本主题描述了内置属性编辑器并详细介绍了如何实现自定义编辑器。XAF随附的FeatureCenter演示的属性编辑器部分演示了几个自定义属性编辑器。

DevExpress Xaf 学习专栏 1154

【干货攻略】Oracle报错篇 ORA-01378 磁盘扇区大小不兼容问题

本期将为大家分享“ORA-01378 磁盘扇区大小不兼容”报错的问题解决方案。

PWY13148的专栏 1437

学习012-04-08-06-02 Supply Predefined Values for the String Property Editor Dynamically (WinForms)

本主题介绍Windows窗体应用程序的自定义属性编辑器的实现。此处实现了用于编辑业务对象的String类型的Culture Code(locale)属性的自定义属性编辑器。属性编辑器控件的下拉列表将显示最终用户的Windows操作系统中安装的区域性。Note您还可以使用IModelCommonMemberViewItem在模型编辑器中指定预定义的值。预定义值属性。这种方法要简单得多,因为它不需要额外的编码,但是在这种情况下,您将无法在代码中动态更新值列表。

DevExpress Xaf 学习专栏 623

保姆级教程:用torch.profiler给你的vLLM推理做个“全身体检”(附Perfetto可视化分析)

本文提供了一份详细的vLLM推理性能分析教程,通过torch.profiler和Perfetto工具链实现从数据采集到可视化分析的全流程。文章涵盖了环境配置、性能数据采集、trace文件解析以及Perfetto可视化分析,帮助开发者优化大模型推理服务的性能,显著降低计算资源消耗。

weixin_29041767的博客 357

【脚本篇】---spyglass lint脚本

【代码】【脚本篇】---spyglass lint脚本。

冬瓜 6355

.NET应用UI框架DevExpress XAF v24.1 - 可用性进一步增强

在DevExpress XAF v24.1新版中全新升级了支持CRUD操作、进一步增强了可用性等,欢迎下载最新版体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1067

勇攀数字高峰

摘要:该题目要求在数字地形图中寻找从最低点到最高点的所有严格递增登山路径。采用DFS深度优先搜索结合回溯算法,通过标记已访问位置并检查高度差限制(0<diff≤maxDiff)来遍历所有可能路径。算法首先确定起点(最低点)和终点(最高点),然后进行DFS搜索,每步移动需满足四个方向的合法移动且高度严格递增。最终输出符合条件的路径总数。提供了C++、Java和Python三种实现方案。

面试高手的博客 621

学习011-08-03 Numeric Properties(数字属性)

如果存储库项的MaxValue属性设置为0或超过Byte. MaxValue的值,则属性值重置为Byte.MaxValue。如果存储库项的MinValue属性设置为0或小于Byte.MinValue的值,则属性值重置为Byte.MinValue。如果存储库项的MaxValue属性设置为0或超过Long. MaxValue的值,则属性值重置为Long.MaxValue。如果存储库项的MinValue属性设置为0或小于Long.MinValue的值,则属性值重置为Long.MinValue。

DevExpress Xaf 学习专栏 974

30 中望CAD二次开发(ZRX C++)-windows下的qt开发

本文介绍了中望CAD在windows下,如何使用qt开发插件界面,给出了具体的编码步骤,并生成了模态对话框和非模态对话框,其中非模态对话框可以调用CAD命令,实现交互操作。

cilvsuanna的博客 189

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

学习012-04-08-01-02 Customize a Built-in Property Editor (WinForms)(自定义内置属性编辑器(WinForms))

本主题介绍如何访问Windows窗体应用程序中的内置XAF属性编辑器。在此示例中, DatePropertyEditor被自定义为显示日历和时钟。Note您可以在作为XAF包的一部分安装的功能中心演示应用程序中找到自定义属性编辑器的此示例和其他示例。应用程序的默认位置是%PUBLIC%\Documents\DevExpress Demos 24.1\Components\XAF\FeatureCenter. NETFramework.XPO。

DevExpress Xaf 学习专栏 892

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

XAF之向DetailView中添加Unbound UI元素

XAF中的UI元素都是通过数据自动生成的,有时,我们希望添加无绑定数据的UI元素,比如一个Button,这时就需要添加可视UI。 你的选择有下面几种: 1.添加到菜单栏,工具栏等预定义的ActionBase.Category中的位置;如帮助文档中大量添加Action的例子 2.添加一个ActionContainer到需要显示Action的位置,然后将ActionBase的Category设置

压碎起重机 1696

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

XAF-如何修改内置的编辑器(Property Editor)

本示例演示在web/win中给 日期选择控制显示出一个时钟及修改时间的控件。效果如下: 如果你装了XAF在这个路径中已经有了这个示例: %PUBLIC%\Documents\DevExpress Demos 16.2\Components\eXpressApp Framework\FeatureCenter. 在线也有一个版本:http://demos.devexpress.com/X...

weixin_30537391的博客 433

在XAF中实现状态控制并级联更新部分属性

首先贴一个视频,是一个高手录制的,这里转载一下。 http://v.youku.com/v_show/id_XMTU0Mjc3MjUxMg==.html 在该视频中介绍了状态机的基本用法,关键点如下: 将状态机同对象的属性建立关联。 不同状态之间的变更关系。 在状态变更操作页面的权限控制 可以触发变更的人 可以修改那些属性 可以禁用那些按钮(此处提到,但是未详细说...

diyou8419的博客 374
上一篇: XAF 如何使用复合主键和复合外键
下一篇: XAF之实现子导航栏
qjpcpu
博客等级 码龄15年 59粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值