Flex-创建新的基元
|
首先-最好是对Flex / OOP来说是全新的。我一直在尝试添加一个基于StrokedElement的自定义类,以实现一个简单的网格(不像现有的Flex网格-这只是用于显示-不包含元素等)。
我当前的课程如下:
package ui.helpers
{
import flash.display.Graphics;
import spark.primitives.supportClasses.StrokedElement;
public class SGrid extends StrokedElement
{
public function SGrid()
{
super();
}
private var _gridSize:Number;
[Inspectable(category=\"General\", minValue=\"1.0\")]
public function get gridSize():Number
{
return _gridSize;
}
public function set gridSize(value:Number):void
{
if (value != _gridSize)
{
_gridSize = value;
invalidateSize();
invalidateDisplayList();
invalidateParentSizeAndDisplayList();
}
}
override protected function draw(g:Graphics):void {
for(var x:int; x < width; x+= _gridSize) {
g.moveTo(x,0);
g.lineTo(x,height);
}
for(var y:int; y < height; y+= _gridSize) {
g.moveTo(0,y);
g.lineTo(width,y);
}
}
}
}
这是从Flex spark.primatives.rect复制而来的-一切正常,但是当我将其添加到应用程序时,我希望这样做:
<helpers:SGrid id=\"gridOne\" width=\"100\" height=\"200\" gridSize=\"10\">
<s:stroke>
<s:SolidColorStroke color=\"0xCCCCCC\" alpha=\"0.8\" />
</s:stroke>
</helpers:SGrid>
但实际上这可以代替:
<helpers:SGrid id=\"gridOne\" width=\"100\" height=\"200\" gridSize=\"10\">
<helpers:stroke>
<s:SolidColorStroke color=\"0xCCCCCC\" alpha=\"0.8\" />
</helpers:stroke>
</helpers:SGrid>
如果我使用s:stroke,则会出现错误。显然,我很高兴它能起作用-但我试图了解为什么这里有区别?
没有找到相关结果
已邀请:
1 个回复
才改隘瘁
),这是
实例的属性,这无关紧要。 它与:
即使笔划是在基类上声明的,您也可以通过SGrid类对其进行引用。