2009-10-14 9 views

ответ

2

Ashier предлагает использовать «Исключить» тег метаданных, но Маскит предлагает свои ограничения и предлагает альтернативные решения:

http://blog.ashier.com/2008/03/25/hiding-properties-in-flex-components/
http://smaskit.blogspot.com/2008/07/making-mxml-subcomponent-private.html

+0

Обходной путь, предложенный во 2-й ссылке, довольно хорош (+1 для этого). Но все же ни один из них не статичный дочерний компонент :( –

+0

Принимает этот ответ, так как это единственное, что можно сделать до сих пор. Hope Flex 5 будет поддерживать mxml static/private :( –

0

В строгом смысле этих слов, нет, вы не можете сделать что использование mxml. Второе сообщение, опубликованное Луисом, содержит некоторые обходные пути для частного/защищенного поведения.

0

Я нашел решение статического вопроса. Мне нужна быстрая записная книжка, доступ к которой можно было бы найти где угодно в мобильном приложении, без редактирования одного экземпляра, оставленного открытым на другом экране.

Я создал элемент управления mxml для заметок, а затем разместил его внутри раздела объявлений в приложении mxml верхнего уровня. В каждом представлении, что я хотел памятка появляться, я добавил:

import mx.core.FlexGlobals; 
import components.QuickMemo; 

private var memo:QuickMemo; 

В создании представления полной:

memo = FlexGlobals.topLevelApplication.memo; 

В коде viewActivation, я добавил:

memo.visible = false; 
addElement(memo); 

В коде зрения деактивации я включил:

removeElement(memo); 

Чистый эффект заключается в том, что в любой момент существует только один экземпляр заметки, и один экземпляр открывается в любом состоянии, в котором он существовал в последнем представлении, в котором он появился.