[英]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.