Skip to content

TemplateProperty

TemplatePropertyは.uxml上にTemplateとして追加されている要素とViewクラスを紐づけるためのPropertyです。
Viewクラスに宣言することで、SourceGeneratorが宣言されたTemplatePropertyを収集します。
Templateについてはこちらを参照してください。

宣言の方法

BindablePropertyと同様にTemplateProperty<T>.Create()を呼び出すことで宣言ができます。
<T>は指定するViewの型を設定してください。

csharp
private static readonly TemplateProperty<CounterTemplate> TemplateViewProperty = TemplateProperty<CounterTemplate>.Create(
    TemplateInfoList.ChildVmTemplate
);

Parameters

TemplateProperty<T>.Create()は次のパラメータを指定することができます。

パラメータ必須初期値
templateInfoTemplateInfoyes-
  • templateInfo
    .uxml上に宣言されたTemplateを指定するためのパラメータです。
    .uxml上に宣言されているTemplate の情報は、SourceGeneratorによってTemplateInfoList として生成されています。 templateInfoで指定したViewには、このTemplateProperty<T> を宣言したクラスにバインディングされたViewModelが渡されます。
    ViewModelをバインディングしたい場合は、<T> で指定するViewクラスにHaikaraViewModelProvidableBaseを継承させる必要があります。