簡體   English   中英

如何在Flex的主要應用程序中使用皮膚?

[英]How to use a skin from the main application in Flex?

我有一個帶有SWF加載程序的應用程序。
從加載的SWF文件中,我正在使用以下方法從主應用程序訪問公共變量:

[Bindable] public var global:Object = FlexGlobals.topLevelApplication;

Alert.show(global.myvar); 

這一切都完美。


我在主應用程序的目錄“ skins”中有一個MXML外觀文件(用於按鈕)。
可以在兒童應用程序中使用這種皮膚嗎?


我已經嘗試過了,不幸的是沒有用:

[Bindable] public var global:Object = FlexGlobals.topLevelApplication;

<s:Button label="My Text" skinClass="{global.skins.menuButtons}" />

並且,但是它不能再編譯了:

[Bindable] public var global:Object = FlexGlobals.topLevelApplication;

<s:Button label="Button 1" skinClass="global.skins.menuButtons" />
<s:Button label="Button 2" skinClass="FlexGlobals.topLevelApplication.skins.menuButtons" />

是否可以通過其他方式獲得我想要的東西,還是必須將皮膚復制到我要使用皮膚的所有項目中?

謝謝。

我已經解決了這個問題。

在主SWF文件中,我將公共變量定義為類:

public var menuButtons:Class = skins.menuButtons;

在子SWF文件中,我使用FlexGlobals.topLevelApplication引用此變量:

[Bindable] public var global:Object = FlexGlobals.topLevelApplication;

<s:Button label="My Text" skinClass="{global.menuButtons}" />

顯然,不可能通過global.skins.menuButtons直接引用皮膚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM