flex 自定义可视化组件的超级基类的属性设置
2010年07月03日
虽然前段时间以乔布斯为首的几位大侠对flash的安全、性能等进行了强烈的批评,而且伴随着html5的日趋完善,可能这种批评声会越来越大,甚或超过南非世界杯呜呜组啦的分贝,但是个人认为flex确实是一个可以做delphi、pb、c#等客户端所具有的强鼠标、键盘操作性的web应用好工具。但最近在开发flex自定义组件的时候,却让我十分恼火,真TMD的想骂Flex开发团队是一帮蠢驴(这是气话,flex总体来说还是不错的,但确实不是很成熟)。那么究竟什么让我这么火?Flex自定义组件的属性配置就是个鸡肋,就是基本组件的属性配置也很差。
拿使用频率较高的AdvancedDataGrid来说,该控件的属性配置应该算是做的比较好的了,提供了列配置,开发人员可以通过图形界面增加、删除列,编辑列的可编辑、标题、显示字段等属性,但是比较C#等客户端的话,Flex提供的可视化属性配置还是差之太远。现在自定义一个Grid,继承AdvancedDataGrid。关于如何自定义组件,网上已经说的很多了,这里不再赘述,自定义组件有2种做法:其一是ActionScript类,其二是mxml文件。不管用哪种方法,现在已经做好了一个自定义表格MyGrid,继承AdvancedDataGrid。
新建一个mxml Application,将MyGrid拖放到该application中,发现MyGrid的属性配置面板里除了id等几项设置外已再无其它内容,刚才在AdvancedDataGrid属性面板中所见的dataProvider、选择模式、列配置等都已不见,也就是说自定义的MyGrid不能进行可视列编辑了,狂晕呀。
仔细分析大概是这样的:
1) flex所有可视组件的属性配置应该有个基本模板,大概该模板是基于UIComponent的;
2) flex自包含可视组件的属性配置应该有其特定实现,比如AdvancedDataGrid,应该有扩展自基本模板的AdvancedDataGrid属性配置;
3) 所有自定义组件的属性配置都只有基本模板(诸如id、左右边距等),因为flex找不到自定义组件的属性配置模板实现(由于flex组件的属性配置是flex预定义程序,且只对flex的标准组件做了定义),所以只有用UIComponent的配置模板了;
结论与建议:
结论很明显,flex的自定义组件没有可用的可视化属性配置,因此我们要设置属性只能在mxml文件或者as文件中进行 coding 脚本,如果一个MyGrid有30列,那么就coding 30 对AdvancedDataGridColumn吧。
建议,虽说flex其核心还是脚本编程,但个人认为一个好的开发工具,高效的开发工具还是很重要的,我认为flex不仅要完善属性控制面板,对其数据管理、标准的组件(拿最简单的Button来说吧,在4中不能直接设置icon了,为了显示带icon的button我tmd要写一堆代码,而在3中却是可以直接设置的,虽说4是为了把显示和数据分开,但同时要考虑开发效率呀。)等也需要加以完善。
发表评论
-
Flex 捆绑式验证处理
2012-01-20 10:19 614Flex 捆绑式验证处理 201 ... -
Flex TXT文件导入
2012-01-20 10:18 568Flex TXT文件导入 2010年09月20日 在上一 ... -
Flex 动态datagrid的应用
2012-01-20 10:18 496Flex 动态datagrid的应用 2 ... -
Flex是咋回事之三 谁用谁知道
2012-01-20 10:18 529Flex是咋回事之三 谁用谁知道 2010年09月21日 ... -
关于小学作文教学之我见
2012-01-19 15:20 513关于小学作文教学之我 ... -
小学作文教学方法之初探
2012-01-19 15:20 716小学作文教学方法之初探 2011年10月28日 联合 ... -
教小学生写作文1
2012-01-19 15:20 752教小学生写作文1 2011年09月09日 一、小学作文教 ... -
怎样用符号修改作文
2012-01-19 15:19 808怎样用符号修改作文 20 ... -
(小学)学生作业书写与批改要求
2012-01-19 15:19 854(小学)学生作业书写与 ... -
Windows系统的Regsvr32
2012-01-17 05:06 595Windows系统的Regsvr32 2011 ... -
C#多线程:深入了解线程同步lock,Monitor,Mutex,同步事件和等待句柄 (下)
2012-01-17 05:06 1035C#多线程:深入了解线程 ... -
黑莓 8830 全攻略 写了1天(下)
2012-01-17 05:06 908黑莓 8830 全攻略 写了1 ... -
Application/Session/Cookie/viewstate/Cache/隐藏域/查询字符串的比较
2012-01-17 05:06 695Application/Session/Cookie/view ... -
设计模式分解java(2)
2012-01-17 05:06 528设计模式分解java(2) 2010年12月20日 当然 ... -
电脑城国庆中秋装机版V16.0.iso
2012-01-16 03:57 654电脑城国庆中秋装机版V16.0.iso 2009年10月19 ... -
javascript:history.go()和History.back()的区别
2012-01-16 03:57 717javascript:history.go()和History ... -
VB.NET练习题8
2012-01-16 03:57 1048VB.NET练习题8 2010年05月0 ... -
VB基本语法
2012-01-16 03:57 551VB基本语法 2011年06月24日 图形用户 ... -
Spring+Hibernate+JPA常见小问题
2012-01-16 03:57 683Spring+Hibernate+JPA常见小问题 2011 ...
相关推荐
u3d的单件基类,简单易用,用法: public class TestSingleton : Singleton<TestSingleton> { public static TestSingleton GetTest() { return TestSingleton.Instance(); } }
VC6.0中不便实现自定对话框基类,此实例实现重用基类资源,如管理系统中把操作按纽权限控制放在基类中,将底系统复杂性。
ZComponent 用于构建自定义HTML元素的WebComponent基类
数据库操作的基类,支持sql server,orcal,ole db,基于连接池的,包括存储过程的调用等,调用简单,使用哪种数据库类型直接实例化对应的dataPool即可。
非常实用的ASP.NET类库、C#读取AD域里用户名或组、Common类库、DotNet基础类大全、SqlHelper基类、字符串加密
dao层基类dao层基类dao层基类dao层基类dao层基类
moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解.rar
我收集的C#基类,比较全.我收集的C#基类,比较全. 包含有: ASP.NET类库 C#读取AD域里用户名或组 Common类库 DotNet基础类大全 SqlHelper基类 字符串加密
一个基于CMake跨平台开发环境的多模块的QT配置示例。 同时在其中内置了一个QT自定义窗体的基类。
C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类C++多线程基类
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的...总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类...
一个规范flutter生命周期的Widget基类,并且封装了基本属性,加快开发速度~
QT快速开发自定义标题栏示例,非常简单,使用方法如下: 1、目标窗口添加标题栏、最大化最小化关闭按钮(该步最好每次使用时,从模板程序中直接复制) 2、窗口基类从QDialog改为QFramelessDialog 3、窗口构造函数中...
在各类中分别增加以下成员: base1中增加私有数据成员int b1 base2中增加私有数据成员int b2 level1中增加私有数据成员int l1 level2中增加私有数据成员int l2 toplevel中增加私有数据成员int t
【Python可视化脚本开发框架】PyFlow - Visual scripting framework for python by wonderworks-software 实现的程序的基本结构,例如包发现,输入自定义,导出程序,实体和工具的基类。 您可以完全删除默认情况下...
wc-base:JavaScript Web组件自定义元素基类,该类自动导入组件的样式表并在自定义元素浏览器注册表中对其进行定义
c# xml 操作 基类
受和启发的用编写的可重用d3.js组件的基类。 您应该从此类继承,将对构造图有用的所有参数附加到构造函数@accessors ,并编写一个_draw(element, data, i)函数来进行实际绘制。 例子 class d3.chart.MyChart ...