Напилок для Flex: mx_internal

Адобівці доволі часто використовують namespace mx_internal для внутрішнього спілкування між компонентами. Але й нам з Вами, іноді, корисно використати цей namespace. Наприклад, нам потрібно в Button.label відобразити html-текст.

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”vertical”>
    1. <mx:Button id=”helloB” label=”Hello World!”/>
    1. <mx:creationComplete>
      1. <![CDATA[
      1. helloB.getTextField().htmlText = “<u><i>H</i>ello World!</u>”;
      1. // можна написати і так, тоді нам не потрібно було б застосовувати namespace
      1. // helloB.mx_internal::getTextField().htmlText = “<u><i>H</i>ello World!</u>”;
      1. ]]>
    1. </mx:creationComplete>
    1. <mx:Script>
      1. <![CDATA[
      1. import mx.core.mx_internal; // імпортуємо namespace
      1. use namespace mx_internal; // застосовуємо його
      1. ]]>
    1. </mx:Script>
  3. </mx:Application>

Але це треба використовувати дуже обережно, т.я. дуже легко зламати компонент (тому що запуск подібного методу не буде входити в життєвий цикл компонента) або при наступному оновленні, компонент верне усі задані значення до тих які були перед використанням напилку.

Залиште свій коментар