diff --git a/src/Avalonia.Base/Data/BindingValue.cs b/src/Avalonia.Base/Data/BindingValue.cs
index 50e71cf3fc..e1f5369899 100644
--- a/src/Avalonia.Base/Data/BindingValue.cs
+++ b/src/Avalonia.Base/Data/BindingValue.cs
@@ -135,10 +135,10 @@ namespace Avalonia.Data
/// Converts the binding value to an .
///
///
- public Optional ToOptional() => HasValue ? new Optional(Value) : default;
+ public Optional ToOptional() => HasValue ? new Optional(_value) : default;
///
- public override string ToString() => HasError ? $"Error: {Error!.Message}" : Value?.ToString() ?? "(null)";
+ public override string ToString() => HasError ? $"Error: {Error!.Message}" : _value?.ToString() ?? "(null)";
///
/// Converts the value to untyped representation, using ,
@@ -152,7 +152,7 @@ namespace Avalonia.Data
{
BindingValueType.UnsetValue => AvaloniaProperty.UnsetValue,
BindingValueType.DoNothing => BindingOperations.DoNothing,
- BindingValueType.Value => Value,
+ BindingValueType.Value => _value,
BindingValueType.BindingError =>
new BindingNotification(Error, BindingErrorType.Error),
BindingValueType.BindingErrorWithFallback =>
@@ -190,7 +190,7 @@ namespace Avalonia.Data
///
/// The default value.
/// The value.
- public T ValueOrDefault(T defaultValue = default) => HasValue ? Value : defaultValue;
+ public T ValueOrDefault(T defaultValue = default) => HasValue ? _value : defaultValue;
///
/// Gets the value of the binding value if present, otherwise a default value.
@@ -204,7 +204,7 @@ namespace Avalonia.Data
public TResult ValueOrDefault(TResult defaultValue = default)
{
return HasValue ?
- Value is TResult result ? result : default
+ _value is TResult result ? result : default
: defaultValue;
}
diff --git a/src/Avalonia.Base/Data/Optional.cs b/src/Avalonia.Base/Data/Optional.cs
index 3fbcd356ff..5c9cbcec3c 100644
--- a/src/Avalonia.Base/Data/Optional.cs
+++ b/src/Avalonia.Base/Data/Optional.cs
@@ -54,23 +54,23 @@ namespace Avalonia.Data
public bool Equals(Optional other) => this == other;
///
- public override int GetHashCode() => HasValue ? Value!.GetHashCode() : 0;
+ public override int GetHashCode() => HasValue ? _value?.GetHashCode() ?? 0 : 0;
///
/// Casts the value (if any) to an .
///
/// The cast optional value.
- public Optional