生成されたアプリケーションの他のレイヤーまたはコンポーネントで解釈可能な Image オブジェクトの URI を返します。
ImageName.
GetInternalURI()
入力値の説明:
ImageName
ナレッジベース内で定義された
Image オブジェクトです。
戻されるタイプ:
String
オブジェクト: Image オブジェクト
ジェネレーター:
.NET、
Java、
Android、
Apple
返される文字列は gximage://<
image name> 形式の URI で、
image name は Image オブジェクトの
修飾名です。
このメソッドは、特に Image オブジェクトの参照を変数に割り当てる必要があり、その Image が実行時にスタイル、言語、密度、レイヤー、またはデザインシステムのオプションに応じて異なる場合に役立ちます (他にも役立つケースがあります)。
アプリケーションのクライアント側では、コンテキスト情報 (デザインシステムのオプションが Dark か Light か) に基づいて適切な画像を表示する必要があります。このコンテキストは、アプリケーションのすべてのレイヤーでは使用できない場合があります。そのため、すべてのコンテキスト情報を利用できないタイミングまたはレイヤーで画像の参照を取得する必要がある場合は、このメソッドが役立ちます。
そのような場合は、
FromImage メソッドや
Link メソッドを使用するよりも、このメソッドを使用した方が良い結果を得られます。
画像 GeneXusLogo が
デザインシステムのトークンのオプション (Dark と Light) で異なり、コンテキストに応じて対応する画像を UI コントロール &MyImage に表示する必要があるとします。
その場合は次のようにプログラミングします:
Event 'MyEvent'
&MyImage.ImageURI = image:GeneXusLogo.GetInternalURI()
EndEvent
Data Provider オブジェクトを使用したシナリオでのこのケースのバリエーションは、次のようになります:
SDT を Logo 項目とともに返す、GetLogo というデータプロバイダーを作成します。
SDTLogo
{
Logo
{
ImageUri = image:GeneXusLogo.GetInternalURI()
}
}
次に、それをパネルで使用します。
Event 'MyEvent'
&SDTLogo = &GetLogo()
&MyImage.ImageURI = &SDTLogo.Logo
EndEvent