5using System.Threading.Tasks;
13 public DataTemplate? TextFieldTemplate {
get;
set; }
14 public DataTemplate? DateFieldTemplate {
get;
set; }
15 public DataTemplate? PickerFieldTemplate {
get;
set; }
16 public DataTemplate? BooleanFieldTemplate {
get;
set; }
17 public DataTemplate? IntegerFieldTemplate {
get;
set; }
18 public DataTemplate? DecimalFieldTemplate {
get;
set; }
19 public DataTemplate? RadioFieldTemplate {
get;
set; }
20 public DataTemplate? CountryFieldTemplate {
get;
set; }
21 public DataTemplate? CheckboxFieldTemplate {
get;
set; }
22 public DataTemplate? FileUploadFieldTemplate {
get;
set; }
23 public DataTemplate? ImageUploadFieldTemplate {
get;
set; }
24 public DataTemplate? LabelFieldTemplate {
get;
set; }
25 public DataTemplate? InfoFieldTemplate {
get;
set; }
27 protected override DataTemplate? OnSelectTemplate(
object item, BindableObject container)
30 return Field.FieldType
switch
32 FieldType.Boolean => this.BooleanFieldTemplate,
33 FieldType.Date => this.DateFieldTemplate,
34 FieldType.Integer => this.IntegerFieldTemplate ?? this.TextFieldTemplate,
35 FieldType.Decimal => this.DecimalFieldTemplate ?? this.TextFieldTemplate,
36 FieldType.Picker => this.PickerFieldTemplate,
37 FieldType.Radio => this.RadioFieldTemplate ?? this.PickerFieldTemplate,
38 FieldType.Country => this.PickerFieldTemplate,
39 FieldType.Gender => this.PickerFieldTemplate,
40 FieldType.Checkbox => this.CheckboxFieldTemplate ?? this.PickerFieldTemplate,
41 FieldType.File => this.FileUploadFieldTemplate,
42 FieldType.Image => this.ImageUploadFieldTemplate,
43 FieldType.Label => this.LabelFieldTemplate ?? this.TextFieldTemplate,
44 FieldType.Info => this.InfoFieldTemplate ?? this.TextFieldTemplate,
45 _ => this.TextFieldTemplate
The base KYC field model. Use as-is for generic fields, or subclass for custom logic.