diff --git a/src/Avalonia.Base/AvaloniaObject.cs b/src/Avalonia.Base/AvaloniaObject.cs
index afea0ba345..e8f96cb0e4 100644
--- a/src/Avalonia.Base/AvaloniaObject.cs
+++ b/src/Avalonia.Base/AvaloniaObject.cs
@@ -414,7 +414,7 @@ namespace Avalonia
/// The property.
/// The binding.
///
- /// A disposable which can be used to terminate the binding.
+ /// The binding expression which represents the binding instance on this object.
///
public BindingExpressionBase Bind(AvaloniaProperty property, IBinding binding)
{
@@ -423,7 +423,7 @@ namespace Avalonia
if (b.Instance(this, property) is not UntypedBindingExpressionBase expression)
throw new NotSupportedException("Binding returned unsupported IBindingExpression.");
- return property.RouteBind(this, expression);
+ return GetValueStore().AddBinding(property, expression);
}
///
@@ -628,13 +628,6 @@ namespace Avalonia
internal ValueStore GetValueStore() => _values;
internal IReadOnlyList? GetInheritanceChildren() => _inheritanceChildren;
- internal IDisposable Bind(
- AvaloniaProperty property,
- UntypedBindingExpressionBase expression)
- {
- return property.RouteBind(this, expression);
- }
-
///
/// Called to update the validation state for properties for which data validation is
/// enabled.
diff --git a/src/Avalonia.Base/AvaloniaProperty.cs b/src/Avalonia.Base/AvaloniaProperty.cs
index 62e8db62d7..a56f3f098c 100644
--- a/src/Avalonia.Base/AvaloniaProperty.cs
+++ b/src/Avalonia.Base/AvaloniaProperty.cs
@@ -561,15 +561,6 @@ namespace Avalonia
IObservable