diff --git a/src/Avalonia.Base/PropertyStore/BindingEntry.cs b/src/Avalonia.Base/PropertyStore/BindingEntry.cs index 637272ad6a..09a0f169df 100644 --- a/src/Avalonia.Base/PropertyStore/BindingEntry.cs +++ b/src/Avalonia.Base/PropertyStore/BindingEntry.cs @@ -19,15 +19,18 @@ namespace Avalonia.PropertyStore /// The property type. internal class BindingEntry : IBindingEntry, IPriorityValueEntry, IObserver> { + private readonly IAvaloniaObject _owner; private IValueSink _sink; private IDisposable? _subscription; public BindingEntry( + IAvaloniaObject owner, StyledPropertyBase property, IObservable> source, BindingPriority priority, IValueSink sink) { + _owner = owner; Property = property; Source = source; Priority = priority; diff --git a/src/Avalonia.Base/PropertyStore/PriorityValue.cs b/src/Avalonia.Base/PropertyStore/PriorityValue.cs index d6139b2927..2785dc6840 100644 --- a/src/Avalonia.Base/PropertyStore/PriorityValue.cs +++ b/src/Avalonia.Base/PropertyStore/PriorityValue.cs @@ -95,7 +95,7 @@ namespace Avalonia.PropertyStore public BindingEntry AddBinding(IObservable> source, BindingPriority priority) { - var binding = new BindingEntry(Property, source, priority, this); + var binding = new BindingEntry(_owner, Property, source, priority, this); var insert = FindInsertPoint(binding.Priority); _entries.Insert(insert, binding); return binding; diff --git a/src/Avalonia.Base/ValueStore.cs b/src/Avalonia.Base/ValueStore.cs index af093c2b22..58ebc48652 100644 --- a/src/Avalonia.Base/ValueStore.cs +++ b/src/Avalonia.Base/ValueStore.cs @@ -121,7 +121,7 @@ namespace Avalonia } else { - var entry = new BindingEntry(property, source, priority, this); + var entry = new BindingEntry(_owner, property, source, priority, this); _values.AddValue(property, entry); entry.Start(); return entry;