diff --git a/src/Avalonia.Base/Reactive/AvaloniaPropertyObservable.cs b/src/Avalonia.Base/Reactive/AvaloniaPropertyObservable.cs index 100330ed1d3..238aba5c962 100644 --- a/src/Avalonia.Base/Reactive/AvaloniaPropertyObservable.cs +++ b/src/Avalonia.Base/Reactive/AvaloniaPropertyObservable.cs @@ -44,7 +44,16 @@ private void PropertyChanged(object sender, AvaloniaPropertyChangedEventArgs e) { if (e.Property == _property) { - var newValue = e.Sender.GetValue(e.Property); + T newValue; + + if (e is AvaloniaPropertyChangedEventArgs typed) + { + newValue = typed.Sender.GetValue(typed.Property); + } + else + { + newValue = (T)e.Sender.GetValue(e.Property); + } if (!Equals(newValue, _value)) {