メインコンテンツへスキップ
ユーザー定義プロパティは、要素に属する型付き変数です。これらのプロパティは External fields セクションで定義します。次の形式に従ってください。
Type1 Name1;
...
TypeN NameN;
ここで、Name は変数名、Type はその型です。 fields が作成されると、次のように初期化されます。数値の field は 0 に初期化され、Rectangle や領域は空値に初期化されます、など。 Field は、それが属する要素内およびその要素の下位にある任意の要素内で使用できます。field の値を変更できるのは、それが属する要素内のみで、その他の要素では読み取り専用として参照できます。 要素に対する仮説を表す複雑な式の値を計算し、このプロパティに書き込むことができます。この値は、必要なたびに再計算することなく、その下位の任意の要素から参照できます。これにより、FlexiLayout の照合に要する時間が短縮され、各要素に大きな式を複製する必要がなくなり、コードの可読性が向上します。 要素の field にアクセスするには、次の形式のフルネームを使用します: ElementName.FieldName(例: SearchElements.StaticText1.x)。要素内では、その field には名前でアクセスできます: x。複合要素の場合、そのサブ要素(ネストの深さに関係なく)からも、短い名前でその要素の要素にアクセスできます。 要素内では、field の名前は一意でなければなりません。複合要素の要素名は、そのサブ要素(任意のネストレベル)に含まれるいずれかの field 名と一致してはなりません。さらに、複合要素の field 名は、そのサブ要素のいずれかの名前と一致してはなりません。

この例では、住所の2つのコンポーネント、city(文字列 City)と subway station(文字列 Station)を検索します。subway station は、city が Sydney の場合にのみ指定されます。FlexiLayout のマッチングを高速化するため、City 要素に fromSydney プロパティを指定します。このプロパティは、City 要素が検出され、値が Sydney の場合は true、それ以外は false です。 City 要素のコード: External fields
logic fromSydney;
仮説の評価
if( not IsNull and Value.Find( "Sydney" ) >= 0 ) then fromSydney = true;
else fromSydney = false;
その後、このプロパティを使用して地下鉄の駅を検索します。マッチングを高速化するため、City 要素が Sydney と検出された場合にのみ駅を検索します。 Station 要素のコード: 検索条件
if not City.fromSydney then dontfind;
注意: fields により、同じ型の要素は同一とは見なされません。したがって、次の種類の構成は許可されていません。
Let e = SearchElements.StaticText1;
e = SearchElements.StaticText2; // 同じ型の要素