4 Stimmen

statische/private untergeordnete Komponente in mxml?

Gibt es eine Möglichkeit, eine untergeordnete Komponente in mxml zu deklarieren, die privat/geschützt oder sogar statisch ist?

Sicher können wir dies innerhalb eines Skript-Tags tun, aber gibt es noch andere Möglichkeiten?

2voto

Luis B Punkte 1594

Ashier schlägt die Verwendung des Metadaten-Tags "Exclude" vor, doch Maskit weist auf dessen Grenzen hin und schlägt alternative Lösungen vor:

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

0voto

Amarghosh Punkte 56804

Im strengen Sinne dieser Begriffe kann man das mit mxml nicht machen. Der zweite Link, der von Luis gepostet wurde, enthält einige Workarounds für privates/geschütztes Verhalten.

0voto

Bernd Hansen Punkte 11

Ich habe eine Lösung für die statische Frage gefunden. Ich wollte einen schnellen Notizblock, auf den man überall in der mobilen App zugreifen kann, ohne dass eine Instanz Bearbeitungen überschreibt, die in einem anderen Bildschirm geöffnet sind.

Ich habe ein Memo-Pad-mxml-Steuerelement erstellt und es dann in einem Deklarationsabschnitt in der obersten Ebene der Anwendung mxml platziert. In jeder Ansicht, in der das Memo erscheinen soll, habe ich es hinzugefügt:

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

private var memo:QuickMemo;

In der Ansicht Erstellung abgeschlossen:

memo = FlexGlobals.topLevelApplication.memo;

Im viewActivation-Code habe ich hinzugefügt:

memo.visible = false;
addElement(memo);

In den viewDeactivation-Code habe ich eingefügt:

removeElement(memo);

Der Nettoeffekt ist, dass immer nur eine Instanz des Memos existiert, und diese eine Instanz wird in dem Zustand geöffnet, in dem sie in der letzten Ansicht, in der sie erschien, vorhanden war.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X