Как сделать перерисовку у flex spark компонента?

51 views
Skip to first unread message

Elast

unread,
Mar 21, 2012, 6:52:00 AM3/21/12
to ruFlex
Добрый день.
Создал кастомный контрол и для него скин, не могу понять как
перерисовать компонент, когда присвоено свойство?


КОНТРОЛ:
<s:SkinnableComponent xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="70" height="70"
buttonMode="true">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here
-->
</fx:Declarations>
<fx:Script>
<![CDATA[
private var _coins:int = 1;

public function set coins(value:int):void { _coins = value; }
public function get coins():int{return _coins; }
]]>
</fx:Script>
</s:SkinnableComponent>




СКИН:
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<!-- host component -->
<fx:Metadata>
[HostComponent("view.components.UserAvatar")]
</fx:Metadata>
<s:Label id="coins"
color="0xFF0000"
text="{hostComponent.coins}"
fontSize="14"
fontWeight="bold"
x="3"
y="{hostComponent.height - coins.height}"/>
</s:Skin>

Вадим Усольцев

unread,
Mar 22, 2012, 7:03:06 AM3/22/12
to ruf...@googlegroups.com
У вас свойство coins не Bindable. Соответственно о его изменении
другим компонентам никак не узнать. Потом, есть еще такой метод у
SkinnableComponent, как invalidateSkinState(), но оно немного для
другого... В любом случае, рекомендую почитать доки по созданию таких
компонентов, например эту:

http://opensource.adobe.com/wiki/display/flexsdk/Spark+Skinning

С уважением,
Вадим Усольцев,
Adobe Flex Developer

2012/3/21 Elast <ilyes.ga...@gmail.com>:

> --
> Все правила мейл листа руФлекс:
> http://groups.google.com/group/ruflex/web/ruflex?hl=ru
>
> Русскоязычная Flex-вики: http://wiki.flash-ripper.com/
> Страница группы с поиском: http://groups-beta.google.com/group/ruflex?hl=ru
>
> RSS 2.0-канал группы (50 новых тем ):   http://groups.google.com/group/ruflex/feed/rss_v2_0_topics.xml?num=50
>
> RSS 2.0-канал группы (50 новых сообщений):  http://groups.google.com/group/ruflex/feed/rss_v2_0_msgs.xml?num=50
>
> Первое правило мейл листа руФлекс:
> Письма отправляются в UTF-8 с ящика, на который пришло письмо.
>
> Второе правило мейл листа руФлекс:
> Ненужные цитаты при ответе удаляются.
>
> Написать в группу: ruf...@googlegroups.com
> Отписаться: ruflex-un...@googlegroups.com

Reply all
Reply to author
Forward
0 new messages