diff --git a/src/Avalonia.Base/AvaloniaObjectExtensions.cs b/src/Avalonia.Base/AvaloniaObjectExtensions.cs index 0017f955830..76138beb4d6 100644 --- a/src/Avalonia.Base/AvaloniaObjectExtensions.cs +++ b/src/Avalonia.Base/AvaloniaObjectExtensions.cs @@ -18,7 +18,10 @@ public static class AvaloniaObjectExtensions /// An . public static IBinding ToBinding(this IObservable source) { - return new BindingAdaptor(source.Select(x => (object?)x)); + return new BindingAdaptor( + typeof(T).IsValueType + ? source.Select(x => (object?)x) + : (IObservable)source); } ///