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

Logisim 原码一位乘法器设计 图解及代码(计算机组成原理)

Logisim 原码一位乘法器设计 图解及代码(计算机组成原理) 包对

醉蕤的博客 4376

XAF-UI元素概述

xaf系列

ljq1972的专栏 291

Ovito隐藏技巧:用Expression Selection快速提取分子链(附模糊背景配置参数)

本文详细介绍了Ovito软件中Expression Selection功能的隐藏技巧,用于从复杂的分子动力学模拟数据中快速、精准地提取目标分子链。通过结合Expand Selection和Invert Selection等修饰器,形成一套高效的工作流,并深入解析了实现SCI论文级渲染效果的景深模糊参数配置,帮助研究者大幅提升数据处理与图片生成效率。

pz890123的博客 867

深入解析Carry4的内部结构与工作原理

本文深入解析了Xilinx/AMD FPGA中的核心硬件资源Carry4的内部结构和工作原理。作为实现超前进位的关键物理电路,Carry4通过其CI、DI、S、O、CO等端口,高效处理4位算术运算的进位逻辑。文章通过端口详解、结构分析和实战计算示例,揭示了其如何加速加法、减法等运算,并探讨了其在优化FPGA设计时序与资源利用中的关键作用。

n4o5p6q7r的博客 501

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

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

DevExpress Xaf 学习专栏 1154

NOIP2008年普及组初赛题目答案及解析

NOIP2008年初赛详细题解

城南蝈蝈 926

学习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

MT5交易软件系统源码

Manager配置的功能及权限:管理客户、开户,销户、入金、信用额度、修改定单、人工交易报表、设定点差、强制平仓、修改密码,设定持仓交割单或挂单小止盈止损点数;26、修改价格 27、更改K线图历史价格 28、同步历史数据;2、系统设置 3、交易管理 4、交易柜台 5、价格更改 6、多台服。务器联机 7、恢复交易历史 8、数据源调整 9、备份服务调整 10、交易市场设定 11、交易单更改 12、平台时间设定(全世界) 13、可添加商品;15、设置商品利息;独立主机(服务器、VPS、VM)

tutujunjun的博客 904

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

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

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

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

喷涂机器人系列编程:ABB IRB 5500_(9).常见故障诊断与排除

ABB IRB 5500 喷涂机器人在实际应用中可能会遇到各种故障,但通过系统的诊断和排除方法,可以确保生产线的连续运行。定期维护和保养是预防故障的重要手段,而操作培训和规范则能有效减少人为因素引起的故障。希望本节内容能帮助操作和维护人员提高故障诊断和排除的效率,确保喷涂机器人的稳定运行。如果您有任何疑问或需要进一步的帮助,请联系 ABB 客户服务中心。

zhubeibei168的博客 1045

学习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

新手也能写复杂爬虫!AI+Python自动分析京东商品,提取数据不用F12

不用F12:AI自动分析京东页面,生成选择器;不用懂JS:Playwright自动渲染动态数据;不用改代码:只需配置3个参数,复制运行就能出结果。这套方案不仅适用于京东,修改提示词后还能爬取淘宝、拼多多、亚马逊等电商网站,新手只需掌握“配置参数→运行代码→查看CSV”3步,就能轻松获取任意网站的结构化数据。未来,AI会让爬虫彻底进入“零代码、零门槛”时代,新手也能轻松搞定复杂数据爬取需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1341

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

学习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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

XAF之向DetailView中添加Unbound UI元素

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

压碎起重机 1696

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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、付费专栏及课程。

余额充值