EnumFieldValueProperty
UIBuilder(または.uxml) でEnumFieldの方が指定されていない場合、EnumField.Init() を呼び出す必要があります。EnumFieldValueProperty はデータバインディング時にEnumField.Init() を実行するBindablePropertyです。
宣言の方法
BindablePropertyと同様にEnumFieldValueProperty.Create()を呼び出すことで宣言ができます。
csharp
private static readonly EnumFieldValueProperty EnumFieldValueProperty =
EnumFieldValueProperty.Create(
defaultValue: ControlShowCaseModel.SampleEnum.Midori,
dataSourcePath: PropertyPath.FromName(nameof(ControlsShowcaseViewModel.EnumFieldValue)),
elementNameInfo: ElementNames.EnumField,
BindingMode.TwoWay
);Parameters
BindablePropertyが持つパラメータの他に、次のパラメータを指定することができます。
| パラメータ | 型 | 必須 | 初期値 |
|---|---|---|---|
| defaultValue | enum | yes | - |
| includeObsoleteValues | bool | no | false |
defaultValue
EnumField.Init()にで使われる初期値です。 この値を元に、バインディングされるEnumの種類が決定されます。
詳細な内部実装はこちら を参照してください。includeObsoleteValues
[Obsolete]が付いたenumの値を表示するかどうかを指定します。