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