0

Dimensionというactionscriptクラスがあります。これにより、クライアントは値と「CM」や「Inches」などの単位を使用してディメンションを指定できます。このクラスのインスタンスをMXMLのプロパティとして使用したいので、ユーザーは次のように記述できます。

<DimensionView value="2cm"/>

「2cm」をDimensionの受け入れ可能な文字列値にするにはどうすればよいですか?Dimensionクラスにパーサーメソッドを作成する必要があると思いますが、この機能を提供するために実装する必要のあるインターフェイスを特定できません。

誰か助けてもらえますか?

4

1 に答える 1

1

1 つのオプションは、valueプロパティを として入力しString、ゲッターとセッターを記述し、そこで解析を行うことです。

/**
* docs here
*/
[Bindable(event="valueChanged")]
public function get value():String
{
    return _valueInt.toString();
}
/**
* @private
*/
public function set value(aVal:String):void
{
    // parse the aVal String to an int (or whatever) here
    _valueInt = parsed_aVal;
    dispatchEvent(new Event("valueChanged"));
}

関連する注意事項として、フレームワーク コンポーネントは、MXML で割り当てられた場合、ドキュメント化されていない というメタデータ フィールドを使用して、一部のサイズ変更プロパティでパーセント記号を使用できる機能を実装しますPercentProxy。以下の例は、 のwidthプロパティ getter および setter ですmx.core.UIComponent

[Bindable("widthChanged")]
[Inspectable(category="General")]
[PercentProxy("percentWidth")]
override public function get width():Number
{
    // --snip snip--
}
override public function set width(value:Number):void
{
    // --snip snip--
}
于 2008-12-01T17:14:51.353 に答える