Apache Flex アプリケーションのスタイル

Apache Flex 3.x で開発されたアプリケーションについて、Silk4NET ではスタイルとプロパティを区別しません。この結果、スタイルはプロパティとして公開されます。ただし、Apache Flex 4.x の Spark という接頭辞が付いているすべての新しい Flex コントロール(SparkButton など)では、スタイルがプロパティとして公開されません。この結果、Flex 4.x コントロールの GetProperty() メソッドおよび GetPropertyList() メソッドでは colorfontSize などのスタイルが返されず、textname などのプロパティのみが返されます。

GetStyle(string styleName) メソッドは、スタイルの値を文字列として返します。どのようなスタイルが存在するかを確認するには、次の Adobe ヘルプを参照してください: http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/package-detail.html.

スタイルが設定されていない場合は、再生中に StyleNotSetException が発生します。

FlexTree などの Flex 3.x コントロールでは、GetProperty() を使用してスタイルを取得できます。GetStyle() を使用することもできます。Flex 3.x コントロールでは、GetProperty() メソッドと GetStyle() メソッドの両方が動作します。

色スタイルの計算

Flex では、色は数値として表されます。色は、以下の式を使用して計算できます。
red*65536 + green*256 + blue

以下のスクリプト例では、Spark アプリケーションの ButtonBar がフォント サイズ 12 を使用しているかどうかを検証しています。
 Imports SilkTest.Ntf.Flex

Public Module Main
    Dim _desktop As Desktop = Agent.Desktop
    
    Public Sub Main()
        Dim Application As SparkApplication
        Dim ButtonBar As SparkButtonBar
        Application = _desktop.Find( "/BrowserApplication//BrowserWindow//
            SparkApplication" )
        ButtonBar = Application.SparkButtonBar()

        Workbench.Verify(ButtonBar.GetStyle( "fontSize" ), "12" )
    End Sub
End Module