|
|
@ -227,6 +227,7 @@ namespace Avalonia |
|
|
/// <param name="defaultBindingMode">The default binding mode for the property.</param>
|
|
|
/// <param name="defaultBindingMode">The default binding mode for the property.</param>
|
|
|
/// <param name="validate">A value validation callback.</param>
|
|
|
/// <param name="validate">A value validation callback.</param>
|
|
|
/// <param name="coerce">A value coercion callback.</param>
|
|
|
/// <param name="coerce">A value coercion callback.</param>
|
|
|
|
|
|
/// <param name="enableDataValidation">Whether the property is interested in data validation.</param>
|
|
|
/// <returns>A <see cref="StyledProperty{TValue}"/></returns>
|
|
|
/// <returns>A <see cref="StyledProperty{TValue}"/></returns>
|
|
|
public static StyledProperty<TValue> Register<TOwner, TValue>( |
|
|
public static StyledProperty<TValue> Register<TOwner, TValue>( |
|
|
string name, |
|
|
string name, |
|
|
@ -234,7 +235,8 @@ namespace Avalonia |
|
|
bool inherits = false, |
|
|
bool inherits = false, |
|
|
BindingMode defaultBindingMode = BindingMode.OneWay, |
|
|
BindingMode defaultBindingMode = BindingMode.OneWay, |
|
|
Func<TValue, bool>? validate = null, |
|
|
Func<TValue, bool>? validate = null, |
|
|
Func<AvaloniaObject, TValue, TValue>? coerce = null) |
|
|
Func<AvaloniaObject, TValue, TValue>? coerce = null, |
|
|
|
|
|
bool enableDataValidation = false) |
|
|
where TOwner : AvaloniaObject |
|
|
where TOwner : AvaloniaObject |
|
|
{ |
|
|
{ |
|
|
_ = name ?? throw new ArgumentNullException(nameof(name)); |
|
|
_ = name ?? throw new ArgumentNullException(nameof(name)); |
|
|
@ -242,7 +244,8 @@ namespace Avalonia |
|
|
var metadata = new StyledPropertyMetadata<TValue>( |
|
|
var metadata = new StyledPropertyMetadata<TValue>( |
|
|
defaultValue, |
|
|
defaultValue, |
|
|
defaultBindingMode: defaultBindingMode, |
|
|
defaultBindingMode: defaultBindingMode, |
|
|
coerce: coerce); |
|
|
coerce: coerce, |
|
|
|
|
|
enableDataValidation: enableDataValidation); |
|
|
|
|
|
|
|
|
var result = new StyledProperty<TValue>( |
|
|
var result = new StyledProperty<TValue>( |
|
|
name, |
|
|
name, |
|
|
@ -253,7 +256,7 @@ namespace Avalonia |
|
|
AvaloniaPropertyRegistry.Instance.Register(typeof(TOwner), result); |
|
|
AvaloniaPropertyRegistry.Instance.Register(typeof(TOwner), result); |
|
|
return result; |
|
|
return result; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// <inheritdoc cref="Register{TOwner, TValue}" />
|
|
|
/// <inheritdoc cref="Register{TOwner, TValue}" />
|
|
|
/// <param name="notifying">
|
|
|
/// <param name="notifying">
|
|
|
/// A method that gets called before and after the property starts being notified on an
|
|
|
/// A method that gets called before and after the property starts being notified on an
|
|
|
@ -267,6 +270,7 @@ namespace Avalonia |
|
|
BindingMode defaultBindingMode, |
|
|
BindingMode defaultBindingMode, |
|
|
Func<TValue, bool>? validate, |
|
|
Func<TValue, bool>? validate, |
|
|
Func<AvaloniaObject, TValue, TValue>? coerce, |
|
|
Func<AvaloniaObject, TValue, TValue>? coerce, |
|
|
|
|
|
bool enableDataValidation, |
|
|
Action<AvaloniaObject, bool>? notifying) |
|
|
Action<AvaloniaObject, bool>? notifying) |
|
|
where TOwner : AvaloniaObject |
|
|
where TOwner : AvaloniaObject |
|
|
{ |
|
|
{ |
|
|
@ -275,7 +279,8 @@ namespace Avalonia |
|
|
var metadata = new StyledPropertyMetadata<TValue>( |
|
|
var metadata = new StyledPropertyMetadata<TValue>( |
|
|
defaultValue, |
|
|
defaultValue, |
|
|
defaultBindingMode: defaultBindingMode, |
|
|
defaultBindingMode: defaultBindingMode, |
|
|
coerce: coerce); |
|
|
coerce: coerce, |
|
|
|
|
|
enableDataValidation: enableDataValidation); |
|
|
|
|
|
|
|
|
var result = new StyledProperty<TValue>( |
|
|
var result = new StyledProperty<TValue>( |
|
|
name, |
|
|
name, |
|
|
|