ReactiveUI.Binding.Reactive 10.0.0

Prefix Reserved
dotnet add package ReactiveUI.Binding.Reactive --version 10.0.0
                    
NuGet\Install-Package ReactiveUI.Binding.Reactive -Version 10.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ReactiveUI.Binding.Reactive" Version="10.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ReactiveUI.Binding.Reactive" Version="10.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ReactiveUI.Binding.Reactive" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ReactiveUI.Binding.Reactive --version 10.0.0
                    
#r "nuget: ReactiveUI.Binding.Reactive, 10.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ReactiveUI.Binding.Reactive@10.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ReactiveUI.Binding.Reactive&version=10.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ReactiveUI.Binding.Reactive&version=10.0.0
                    
Install as a Cake Tool

<div align="center">

<img src="images/logo.png" width="160" alt="ReactiveUI">

ReactiveUI.SourceGenerators

Compile-time code for ReactiveUI. No reflection. Trim and NativeAOT safe.

NuGet NuGet Build Coverage License Slack

</div>

Two families of Roslyn source generators that work together:

Attribute generators Binding generators
Package ReactiveUI.SourceGenerators ReactiveUI.Binding (and platform packages)
You write [Reactive], [ReactiveCommand], [IViewFor] WhenChanged, Bind, ToProperty, [ObservableAsProperty]
You get Properties, commands, views, collections Observations and bindings, with no expression trees
Guide Attribute generators Binding reference

Quick start

Attributes. Mark a field. The property, its change notification and the command are written for you.

public partial class LoginViewModel : ReactiveObject
{
    [Reactive] private string _userName = "";

    [ReactiveCommand]
    private void SignIn() { }
}

Binding. Name the path as a lambda. The generator writes the code that attaches to each link of it.

IObservable<string> city = viewModel.WhenChanged(x => x.Address.City);

view.OneWayBind(viewModel, x => x.UserName, v => v.NameLabel.Text);

Install

dotnet add package ReactiveUI.SourceGenerators   # attribute generators
dotnet add package ReactiveUI.Binding            # binding generators, no System.Reactive
dotnet add package ReactiveUI.Binding.Reactive   # binding generators on System.Reactive

Reference one binding runtime package, not both. Add PrivateAssets="all" to ReactiveUI.SourceGenerators.

Packages

Package Purpose
ReactiveUI.SourceGenerators Attribute generators
ReactiveUI.Binding, ReactiveUI.Binding.Reactive Binding runtime, generator and analyzer
ReactiveUI.Binding.Wpf, .WinForms, .Maui, .Avalonia, .Uno Platform property observation and view thread routing
*.Reactive platform packages The same, for System.Reactive apps

Requirements

Attribute generators Binding generators
Language C# 12 C# 7.3 for generated code; interceptors need C# 11
Compiler Roslyn 4.8 or later Roslyn 4.8 or later; interceptors need 4.13
Runtime .NET 10 and 11, .NET Framework 4.7 to 4.8.1 The same

Examples

Every example runs and prints what it does.

Example Shows
index Your first binding
observing WhenChanged, WhenAny, WhenAnyValue, WhenAnyObservable
bindings One-way, two-way, command and interaction bindings
properties ToProperty and [ObservableAsProperty]
converters Built-in type converters
custom-converters Writing your own converters
mechanisms How a property reports a change
views The view locator and IViewFor<T>
threading Which thread a binding writes on
xaml Controls named in MAUI and Avalonia XAML
sourcegenerators Binding to members the attribute generators write
unsafe Run-time expressions
setup Configuration, analyzer and NativeAOT
Execute The attribute generators in use
ToPropertyVerification ToProperty on every runtime target
PlatformBindingsVerification ToProperty feeding real WPF, WinForms and MAUI controls

Documentation

Topic Where
Attribute generators src/ReactiveUI.SourceGenerators
Binding reference: APIs, diagnostics, threading, differences from ReactiveUI docs/ReactiveUI.Binding.md
Benchmarks and current figures src/benchmarks
Contributing and repository layout CLAUDE.md
ReactiveUI handbook reactiveui.net

Core team

<table> <tbody> <tr> <td align="center" valign="top"> <img width="100" height="100" src="https://github.com/ChrisPulman.png?s=150"> <br> <a href="https://github.com/ChrisPulman">Chris Pulman</a> <p>London, UK</p> </td> <td align="center" valign="top"> <img width="100" height="100" src="https://github.com/glennawatson.png?s=150"> <br> <a href="https://github.com/glennawatson">Glenn Watson</a> <p>Melbourne, Australia</p> </td> </tr> </tbody> </table>

Contribute

The project uses the MIT license. Everyone is welcome, including first-time contributors.

Credits

Portions of this code are derived from PolySharp and the Microsoft MVVM Community Toolkit.

Sponsors

JetBrains supports ReactiveUI's maintainers through its open source programme. Anthropic supports them with Claude, and OpenAI with Codex.

JetBrains Claude by Anthropic OpenAI

See our sponsors. All names and logos belong to their owners.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-ios26.0 is compatible.  net10.0-maccatalyst was computed.  net10.0-maccatalyst26.0 is compatible.  net10.0-macos was computed.  net10.0-macos26.0 is compatible.  net10.0-tvos was computed.  net10.0-tvos26.0 is compatible.  net10.0-windows was computed.  net11.0 is compatible.  net11.0-ios27.2 is compatible.  net11.0-maccatalyst27.2 is compatible.  net11.0-macos27.2 is compatible.  net11.0-tvos27.2 is compatible. 
.NET Framework net47 is compatible.  net471 is compatible.  net472 is compatible.  net48 is compatible.  net481 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (29)

Showing the top 5 NuGet packages that depend on ReactiveUI.Binding.Reactive:

Package Downloads
ReactiveUI.Reactive

ReactiveUI recompiled against System.Reactive's Unit for seamless interop with System.Reactive consumers.

ReactiveUI.Binding.Avalonia.Reactive

Avalonia platform support for ReactiveUI.Binding.Reactive, for consumers on System.Reactive.

ReactiveUI.Testing.Reactive

Provides extensions for testing ReactiveUI applications against System.Reactive, including Microsoft.Reactive.Testing TestScheduler support.

Runic.Navigation.ReactiveUI.Reactive

System.Reactive-flavor observables, commands and interaction leave confirmation for Runic.Navigation regions and entries.

Runic.Application.Views.ReactiveUI.Reactive

System.Reactive-flavor ReactiveUI model-context scheduling, routing, view location, and activation for Runic Views.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0 0 11/15/2026
9.1.0 46,791 10/4/2026
9.0.0 336 10/3/2026
8.8.1 291 10/1/2026
8.8.0 9,484 9/28/2026
8.7.0 376 9/28/2026
8.6.0 439 9/27/2026
8.5.0 271 9/27/2026
8.4.0 321 9/26/2026
8.3.0 202 9/26/2026
8.2.0 195 9/26/2026
8.1.0 243 9/26/2026
8.0.0 148 9/26/2026
7.11.0 147 9/25/2026
7.10.1 347 9/25/2026
7.10.0 180 9/25/2026
7.9.0 155 9/25/2026
7.8.0 173 9/25/2026
7.7.0 163 9/24/2026
7.6.0 161 9/23/2026
Loading failed