Side note, to add to the discussion, here is a couple of ways to also update
properties in code for <s:Skin> and <s:SparkSkin> with [1] and [2].
[1]
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
{
doStuff();
super.updateDisplayList(unscaledWidth, unscaledHeight);
}
[2]
//
override public function styleChanged(styleProp:String):void
{
If (styleProper == "myStyleName")
{
doStuff();
}
}
-Mark K
-----Original Message-----
From: bilbosax <[email protected]>
Sent: Sunday, December 29, 2019 10:27 PM
To: [email protected]
Subject: [Non-DoD Source] Re: Skins - Get Properties From Parent Component
Alex, to be honest, I have become accustomed to avoiding binding expressions
due to performance hits, especially with large array collections and
dataproviders. I have become sooooo accustomed to doing this, that it
didn't even cross my mind. But a binding expressions are brilliant in this
situation and streamlines the process considerably, getting rid of two
unneccessary methods and a timing mechanism that can't be 100% relied upon.
Thanks for this simple but very useful solution. Here is what the skin code
looks like now:
<?xml version="1.0" encoding="utf-8"?>
<s:SparkButtonSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
minWidth="20" minHeight="20"
alpha.disabled="0.5"
xmlns:fxgAssets="fxgAssets.*">
<fx:Metadata>
</fx:Metadata>
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<s:Rect id="buttonRect" width="100%" height="100%"
bottomLeftRadiusX="{height/2}" bottomLeftRadiusY="{height/2}"
bottomRightRadiusX="{height/2}" bottomRightRadiusY="{height/2}"
topLeftRadiusX="{height/2}" topLeftRadiusY="{height/2}"
topRightRadiusX="{height/2}" topRightRadiusY="{height/2}">
<s:fill>
<s:SolidColor color.up="#2B8D00" color.down="#323233"/>
</s:fill>
</s:Rect>
<s:Label id="labelDisplay" color="#FAFAFA" styleName="titleMedium"
fontWeight="bold" horizontalCenter="0" verticalCenter="0"/>
<s:Rect width="100%" height="100%" alpha="0" includeIn="up, over, down,
disabled">
<s:fill>
<s:SolidColor color="#FFFFFF"/>
</s:fill>
</s:Rect>
</s:SparkButtonSkin>
--
Sent from: http://apache-flex-users.2333346.n4.nabble.com/