Для начала - лучше сказать, что я новичок в Flex / OOP в целом.Я пытался добавить пользовательский класс, основанный на StrokedElement, чтобы реализовать простую сетку (не так, как существующие Flex Grids - это было бы просто для отображения - без удержания элементов и т. Д.)Класс выглядит следующим образом:
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.priratives.rect - все работает нормально - но когда я добавлю его в свое приложение, я ожидаю сделать это:*
но на самом деле это работает вместо:
<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, то получаю ошибки.Очевидно, мне приятно, что это работает, но я пытаюсь понять, почему здесь разница?