现在的位置: 首页 > 综合 > 正文

flex 自定义可视化组件的超级鸡肋的属性设置

2013年04月27日 ⁄ 综合 ⁄ 共 1297字 ⁄ 字号 评论关闭

 

     

虽然前段时间以乔布斯为首的几位大侠对
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
是为了把显示和数据分开,但同时要考虑开发效率呀。)等也需要加以完善。

 

抱歉!评论已关闭.