From aab7cbbc279d17e2ce32f6f0201947bbceb4919f Mon Sep 17 00:00:00 2001
From: Glenn Watson <5834289+glennawatson@users.noreply.github.com>
Date: Mon, 21 Sep 2026 19:30:56 +1000
Subject: [PATCH 1/2] chore: Update NuSourceDocs to 1.13.0
---
Directory.Packages.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Packages.props b/Directory.Packages.props
index d224ff4d..6be6ee66 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -2,7 +2,7 @@
true
true
- 1.12.0
+ 1.13.0
From 8fb97385f4762e2a3aad26385b2fcf0ad621e4e0 Mon Sep 17 00:00:00 2001
From: Glenn Watson <5834289+glennawatson@users.noreply.github.com>
Date: Mon, 21 Sep 2026 23:56:12 +1000
Subject: [PATCH 2/2] docs(binding): add the ReactiveUI.Binding documentation
section
- Add a Binding section with index, observing, bindings, converters, custom converters, mechanisms, views, threading, setup and unsafe pages.
- End every page with an API reference table that lists each public member with its source link.
- Add a generated API reference page for every public type and member.
- Quote each code sample from the runnable example projects in the ReactiveUI.Binding repository.
- Replace the when-any, value-converters, windows-forms, binding-commands and binding-interactions handbook pages with redirects to the Binding pages.
- Rewrite the data-binding handbook index as a short hub that links into the Binding section.
- Point the links on 13 existing pages at the new Binding pages.
- List ReactiveUI.Binding in nuget-packages.json.
---
docs/_redirects | 16 +
docs/documentation/binding/api.md | 3770 +++++++++++++++++
docs/documentation/binding/bindings.md | 1934 +++++++++
docs/documentation/binding/converters.md | 775 ++++
.../binding/custom-converters.md | 1034 +++++
docs/documentation/binding/index.md | 233 +
docs/documentation/binding/mechanisms.md | 1519 +++++++
docs/documentation/binding/observing.md | 1999 +++++++++
docs/documentation/binding/setup.md | 1236 ++++++
docs/documentation/binding/threading.md | 1551 +++++++
docs/documentation/binding/unsafe.md | 1473 +++++++
docs/documentation/binding/views.md | 1008 +++++
.../getting-started/compelling-example.md | 2 +-
docs/documentation/getting-started/index.md | 2 +-
.../handbook/commands/binding-commands.md | 163 -
docs/documentation/handbook/commands/index.md | 4 +-
.../handbook/data-binding/index.md | 191 +-
.../handbook/data-binding/value-converters.md | 94 -
.../handbook/data-binding/windows-forms.md | 6 -
.../interactions/binding-interactions.md | 59 -
.../handbook/user-input-validation.md | 2 +-
.../handbook/view-models/index.md | 8 +-
docs/documentation/handbook/when-activated.md | 2 +-
docs/documentation/handbook/when-any.md | 287 --
.../extensions/state-and-testing.md | 2 +-
docs/documentation/primitives/signals.md | 2 +-
.../reactive-programming/observables.md | 2 +-
.../reactive-programming/operators.md | 2 +-
nuget-packages.json | 1 +
29 files changed, 16577 insertions(+), 800 deletions(-)
create mode 100644 docs/documentation/binding/api.md
create mode 100644 docs/documentation/binding/bindings.md
create mode 100644 docs/documentation/binding/converters.md
create mode 100644 docs/documentation/binding/custom-converters.md
create mode 100644 docs/documentation/binding/index.md
create mode 100644 docs/documentation/binding/mechanisms.md
create mode 100644 docs/documentation/binding/observing.md
create mode 100644 docs/documentation/binding/setup.md
create mode 100644 docs/documentation/binding/threading.md
create mode 100644 docs/documentation/binding/unsafe.md
create mode 100644 docs/documentation/binding/views.md
delete mode 100644 docs/documentation/handbook/commands/binding-commands.md
delete mode 100644 docs/documentation/handbook/data-binding/value-converters.md
delete mode 100644 docs/documentation/handbook/data-binding/windows-forms.md
delete mode 100644 docs/documentation/handbook/interactions/binding-interactions.md
delete mode 100644 docs/documentation/handbook/when-any.md
diff --git a/docs/_redirects b/docs/_redirects
index 363476b2..12470cf1 100644
--- a/docs/_redirects
+++ b/docs/_redirects
@@ -1,3 +1,19 @@
+/documentation/handbook/when-any/ /documentation/binding/observing/ 301
+/documentation/handbook/when-any /documentation/binding/observing/ 301
+/documentation/handbook/when-any.html /documentation/binding/observing/ 301
+/documentation/handbook/data-binding/value-converters/ /documentation/binding/converters/ 301
+/documentation/handbook/data-binding/value-converters /documentation/binding/converters/ 301
+/documentation/handbook/data-binding/value-converters.html /documentation/binding/converters/ 301
+/documentation/handbook/data-binding/windows-forms/ /documentation/binding/threading/ 301
+/documentation/handbook/data-binding/windows-forms /documentation/binding/threading/ 301
+/documentation/handbook/data-binding/windows-forms.html /documentation/binding/threading/ 301
+/documentation/handbook/commands/binding-commands/ /documentation/binding/bindings/ 301
+/documentation/handbook/commands/binding-commands /documentation/binding/bindings/ 301
+/documentation/handbook/commands/binding-commands.html /documentation/binding/bindings/ 301
+/documentation/handbook/interactions/binding-interactions/ /documentation/binding/bindings/ 301
+/documentation/handbook/interactions/binding-interactions /documentation/binding/bindings/ 301
+/documentation/handbook/interactions/binding-interactions.html /documentation/binding/bindings/ 301
+
# Legacy docfx URLs redirected to mkdocs directory URLs.
# Catchall while we migrate from docfx (.html) to mkdocs (directory) URLs.
# Per-page redirects can be added above this line as more granular rules.
diff --git a/docs/documentation/binding/api.md b/docs/documentation/binding/api.md
new file mode 100644
index 00000000..5fb2196f
--- /dev/null
+++ b/docs/documentation/binding/api.md
@@ -0,0 +1,3770 @@
+---
+Order: 11
+---
+# ReactiveUI.Binding API reference
+
+Find types, overloads, parameters, and return values in one place. The tables are grouped by category and topic. Follow a topic link for its walkthrough, examples, and detailed behavior. Use your browser's find command to look up a type or method name.
+
+- [Observing](#observing)
+- [Bindings](#bindings)
+- [Converters](#converters)
+- [Mechanisms](#mechanisms)
+- [Views](#views)
+- [Threading](#threading)
+- [Setup](#setup)
+- [Unsafe and runtime](#unsafe-and-runtime)
+- [Platforms](#platforms)
+
+## Observing
+
+### WhenChanged
+
+[Full description and examples](observing.md).
+
+Types: `ReactiveUI.Binding.ReactiveUIBindingExtensions`.
+
+#### `ReactiveUIBindingExtensions`
+
+| Declaration | Description | Parameters | Returns |
+| --- | --- | --- | --- |
+| `static class ReactiveUIBindingExtensions` | Extension methods for binding commands from a view model to controls on a view. | None. | — |
+
+**Methods**
+
+| Declaration | Description | Parameters | Returns |
+| --- | --- | --- | --- |
+| `WhenChanged(TObj objectToMonitor, Expression> property1, string property1Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes a property and emits its current value when subscribed, then its new value after each change that alters it. | `TObj : class`: The type of the object to monitor for property changes; `T1`: The type of the first observed property value; `TObj` `objectToMonitor`: The object instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits the current value on subscription and the new value after each change that alters it. |
+| `WhenChanged(TObj objectToMonitor, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, Expression> property6, Expression> property7, Expression> property8, Expression> property9, Expression> property10, Expression> property11, Expression> property12, Expression> property13, Expression> property14, Expression> property15, Expression> property16, string property1Expression = "", string property2Expression = "", string property3Expression = "", string property4Expression = "", string property5Expression = "", string property6Expression = "", string property7Expression = "", string property8Expression = "", string property9Expression = "", string property10Expression = "", string property11Expression = "", string property12Expression = "", string property13Expression = "", string property14Expression = "", string property15Expression = "", string property16Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes 16 properties and emits a PropertyValues of their current values when subscribed and whenever any of them changes. Available for 2 to 16 repeated arguments; the largest form is listed. | `TObj : class`: The type of the object to monitor for property changes; `T1`: The type of the first observed property value; `T2`: The type of the second observed property value; `T3`: The type of the third observed property value; `T4`: The type of the fourth observed property value; `T5`: The type of the fifth observed property value; `T6`: The type of the sixth observed property value; `T7`: The type of the seventh observed property value; `T8`: The type of the eighth observed property value; `T9`: The type of the ninth observed property value; `T10`: The type of the tenth observed property value; `T11`: The type of the eleventh observed property value; `T12`: The type of the twelfth observed property value; `T13`: The type of the thirteenth observed property value; `T14`: The type of the fourteenth observed property value; `T15`: The type of the fifteenth observed property value; `T16`: The type of the sixteenth observed property value; `TObj` `objectToMonitor`: The object instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property2`: An expression that selects the second property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property3`: An expression that selects the third property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property4`: An expression that selects the fourth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property5`: An expression that selects the fifth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property6`: An expression that selects the sixth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property7`: An expression that selects the seventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property8`: An expression that selects the eighth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property9`: An expression that selects the ninth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property10`: An expression that selects the tenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property11`: An expression that selects the eleventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property12`: An expression that selects the twelfth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property13`: An expression that selects the thirteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property14`: An expression that selects the fourteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property15`: An expression that selects the fifteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property16`: An expression that selects the sixteenth property to observe; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property2Expression`: The caller argument expression for `property2`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property3Expression`: The caller argument expression for `property3`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property4Expression`: The caller argument expression for `property4`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property5Expression`: The caller argument expression for `property5`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property6Expression`: The caller argument expression for `property6`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property7Expression`: The caller argument expression for `property7`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property8Expression`: The caller argument expression for `property8`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property9Expression`: The caller argument expression for `property9`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property10Expression`: The caller argument expression for `property10`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property11Expression`: The caller argument expression for `property11`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property12Expression`: The caller argument expression for `property12`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property13Expression`: The caller argument expression for `property13`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property14Expression`: The caller argument expression for `property14`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property15Expression`: The caller argument expression for `property15`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property16Expression`: The caller argument expression for `property16`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable>`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits a PropertyValues holding the latest value of each property, on subscription and whenever any of them changes. |
+| `WhenChanged(TObj objectToMonitor, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, Expression> property6, Expression> property7, Expression> property8, Expression> property9, Expression> property10, Expression> property11, Expression> property12, Expression> property13, Expression> property14, Expression> property15, Expression> property16, Func conversionFunc, string property1Expression = "", string property2Expression = "", string property3Expression = "", string property4Expression = "", string property5Expression = "", string property6Expression = "", string property7Expression = "", string property8Expression = "", string property9Expression = "", string property10Expression = "", string property11Expression = "", string property12Expression = "", string property13Expression = "", string property14Expression = "", string property15Expression = "", string property16Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes 16 properties and emits the result of applying a conversion function to their current values when subscribed and whenever any of them changes. Available for 2 to 16 repeated arguments; the largest form is listed. | `TObj : class`: The type of the object to monitor for property changes; `T1`: The type of the first observed property value; `T2`: The type of the second observed property value; `T3`: The type of the third observed property value; `T4`: The type of the fourth observed property value; `T5`: The type of the fifth observed property value; `T6`: The type of the sixth observed property value; `T7`: The type of the seventh observed property value; `T8`: The type of the eighth observed property value; `T9`: The type of the ninth observed property value; `T10`: The type of the tenth observed property value; `T11`: The type of the eleventh observed property value; `T12`: The type of the twelfth observed property value; `T13`: The type of the thirteenth observed property value; `T14`: The type of the fourteenth observed property value; `T15`: The type of the fifteenth observed property value; `T16`: The type of the sixteenth observed property value; `TReturn`: The return type of the conversion function; `TObj` `objectToMonitor`: The object instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property2`: An expression that selects the second property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property3`: An expression that selects the third property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property4`: An expression that selects the fourth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property5`: An expression that selects the fifth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property6`: An expression that selects the sixth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property7`: An expression that selects the seventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property8`: An expression that selects the eighth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property9`: An expression that selects the ninth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property10`: An expression that selects the tenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property11`: An expression that selects the eleventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property12`: An expression that selects the twelfth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property13`: An expression that selects the thirteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property14`: An expression that selects the fourteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property15`: An expression that selects the fifteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property16`: An expression that selects the sixteenth property to observe; [`Func`](https://learn.microsoft.com/dotnet/api/system.func-17) `conversionFunc`: A function that converts the observed property values to the return type; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property2Expression`: The caller argument expression for `property2`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property3Expression`: The caller argument expression for `property3`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property4Expression`: The caller argument expression for `property4`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property5Expression`: The caller argument expression for `property5`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property6Expression`: The caller argument expression for `property6`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property7Expression`: The caller argument expression for `property7`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property8Expression`: The caller argument expression for `property8`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property9Expression`: The caller argument expression for `property9`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property10Expression`: The caller argument expression for `property10`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property11Expression`: The caller argument expression for `property11`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property12Expression`: The caller argument expression for `property12`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property13Expression`: The caller argument expression for `property13`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property14Expression`: The caller argument expression for `property14`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property15Expression`: The caller argument expression for `property15`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property16Expression`: The caller argument expression for `property16`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits the conversion result on subscription and whenever any of the observed properties changes. |
+
+### WhenChanging
+
+[Full description and examples](observing.md).
+
+Types: `ReactiveUI.Binding.ReactiveUIBindingExtensions`.
+
+#### `ReactiveUIBindingExtensions`
+
+**Methods**
+
+| Declaration | Description | Parameters | Returns |
+| --- | --- | --- | --- |
+| `WhenChanging(TObj objectToMonitor, Expression> property1, string property1Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes a property and emits its current value when subscribed, then the value it holds just before each change. | `TObj : class`: The type of the object to monitor for property changes; `T1`: The type of the first observed property value; `TObj` `objectToMonitor`: The object instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits the current value on subscription and the value held before each change. |
+| `WhenChanging(TObj objectToMonitor, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, Expression> property6, Expression> property7, Expression> property8, Expression> property9, Expression> property10, Expression> property11, Expression> property12, Expression> property13, Expression> property14, Expression> property15, Expression> property16, string property1Expression = "", string property2Expression = "", string property3Expression = "", string property4Expression = "", string property5Expression = "", string property6Expression = "", string property7Expression = "", string property8Expression = "", string property9Expression = "", string property10Expression = "", string property11Expression = "", string property12Expression = "", string property13Expression = "", string property14Expression = "", string property15Expression = "", string property16Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes 16 properties and emits a PropertyValues of their values when subscribed and each time one of them is about to change. Available for 2 to 16 repeated arguments; the largest form is listed. | `TObj : class`: The type of the object to monitor for property changes; `T1`: The type of the first observed property value; `T2`: The type of the second observed property value; `T3`: The type of the third observed property value; `T4`: The type of the fourth observed property value; `T5`: The type of the fifth observed property value; `T6`: The type of the sixth observed property value; `T7`: The type of the seventh observed property value; `T8`: The type of the eighth observed property value; `T9`: The type of the ninth observed property value; `T10`: The type of the tenth observed property value; `T11`: The type of the eleventh observed property value; `T12`: The type of the twelfth observed property value; `T13`: The type of the thirteenth observed property value; `T14`: The type of the fourteenth observed property value; `T15`: The type of the fifteenth observed property value; `T16`: The type of the sixteenth observed property value; `TObj` `objectToMonitor`: The object instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property2`: An expression that selects the second property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property3`: An expression that selects the third property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property4`: An expression that selects the fourth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property5`: An expression that selects the fifth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property6`: An expression that selects the sixth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property7`: An expression that selects the seventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property8`: An expression that selects the eighth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property9`: An expression that selects the ninth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property10`: An expression that selects the tenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property11`: An expression that selects the eleventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property12`: An expression that selects the twelfth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property13`: An expression that selects the thirteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property14`: An expression that selects the fourteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property15`: An expression that selects the fifteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property16`: An expression that selects the sixteenth property to observe; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property2Expression`: The caller argument expression for `property2`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property3Expression`: The caller argument expression for `property3`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property4Expression`: The caller argument expression for `property4`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property5Expression`: The caller argument expression for `property5`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property6Expression`: The caller argument expression for `property6`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property7Expression`: The caller argument expression for `property7`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property8Expression`: The caller argument expression for `property8`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property9Expression`: The caller argument expression for `property9`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property10Expression`: The caller argument expression for `property10`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property11Expression`: The caller argument expression for `property11`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property12Expression`: The caller argument expression for `property12`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property13Expression`: The caller argument expression for `property13`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property14Expression`: The caller argument expression for `property14`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property15Expression`: The caller argument expression for `property15`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property16Expression`: The caller argument expression for `property16`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable>`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits a PropertyValues holding the latest value of each property, on subscription and each time one of them is about to change. |
+| `WhenChanging(TObj objectToMonitor, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, Expression> property6, Expression> property7, Expression> property8, Expression> property9, Expression> property10, Expression> property11, Expression> property12, Expression> property13, Expression> property14, Expression> property15, Expression> property16, Func conversionFunc, string property1Expression = "", string property2Expression = "", string property3Expression = "", string property4Expression = "", string property5Expression = "", string property6Expression = "", string property7Expression = "", string property8Expression = "", string property9Expression = "", string property10Expression = "", string property11Expression = "", string property12Expression = "", string property13Expression = "", string property14Expression = "", string property15Expression = "", string property16Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes 16 properties and emits the result of applying a conversion function to their values when subscribed and each time one of them is about to change. Available for 2 to 16 repeated arguments; the largest form is listed. | `TObj : class`: The type of the object to monitor for property changes; `T1`: The type of the first observed property value; `T2`: The type of the second observed property value; `T3`: The type of the third observed property value; `T4`: The type of the fourth observed property value; `T5`: The type of the fifth observed property value; `T6`: The type of the sixth observed property value; `T7`: The type of the seventh observed property value; `T8`: The type of the eighth observed property value; `T9`: The type of the ninth observed property value; `T10`: The type of the tenth observed property value; `T11`: The type of the eleventh observed property value; `T12`: The type of the twelfth observed property value; `T13`: The type of the thirteenth observed property value; `T14`: The type of the fourteenth observed property value; `T15`: The type of the fifteenth observed property value; `T16`: The type of the sixteenth observed property value; `TReturn`: The return type of the conversion function; `TObj` `objectToMonitor`: The object instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property2`: An expression that selects the second property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property3`: An expression that selects the third property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property4`: An expression that selects the fourth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property5`: An expression that selects the fifth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property6`: An expression that selects the sixth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property7`: An expression that selects the seventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property8`: An expression that selects the eighth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property9`: An expression that selects the ninth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property10`: An expression that selects the tenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property11`: An expression that selects the eleventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property12`: An expression that selects the twelfth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property13`: An expression that selects the thirteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property14`: An expression that selects the fourteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property15`: An expression that selects the fifteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property16`: An expression that selects the sixteenth property to observe; [`Func`](https://learn.microsoft.com/dotnet/api/system.func-17) `conversionFunc`: A function that converts the observed property values to the return type; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property2Expression`: The caller argument expression for `property2`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property3Expression`: The caller argument expression for `property3`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property4Expression`: The caller argument expression for `property4`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property5Expression`: The caller argument expression for `property5`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property6Expression`: The caller argument expression for `property6`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property7Expression`: The caller argument expression for `property7`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property8Expression`: The caller argument expression for `property8`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property9Expression`: The caller argument expression for `property9`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property10Expression`: The caller argument expression for `property10`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property11Expression`: The caller argument expression for `property11`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property12Expression`: The caller argument expression for `property12`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property13Expression`: The caller argument expression for `property13`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property14Expression`: The caller argument expression for `property14`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property15Expression`: The caller argument expression for `property15`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property16Expression`: The caller argument expression for `property16`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits the conversion result on subscription and each time one of the observed properties is about to change. |
+
+### WhenAnyValue
+
+[Full description and examples](observing.md).
+
+Types: `ReactiveUI.Binding.ReactiveUIBindingExtensions`.
+
+#### `ReactiveUIBindingExtensions`
+
+**Methods**
+
+| Declaration | Description | Parameters | Returns |
+| --- | --- | --- | --- |
+| `WhenAnyValue(TSender sender, Expression> property1, string property1Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes a property and emits its current value when subscribed, then its new value after each change that alters it. This is a ReactiveUI compatibility shim. | `TSender : class`: The type of the sender to monitor for property changes; `T1`: The type of the first observed property value; `TSender` `sender`: The sender instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits the current value on subscription and the new value after each change that alters it. |
+| `WhenAnyValue(TSender sender, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, Expression> property6, Expression> property7, Expression> property8, Expression> property9, Expression> property10, Expression> property11, Expression> property12, Expression> property13, Expression> property14, Expression> property15, Expression> property16, string property1Expression = "", string property2Expression = "", string property3Expression = "", string property4Expression = "", string property5Expression = "", string property6Expression = "", string property7Expression = "", string property8Expression = "", string property9Expression = "", string property10Expression = "", string property11Expression = "", string property12Expression = "", string property13Expression = "", string property14Expression = "", string property15Expression = "", string property16Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes 16 properties and emits a PropertyValues of their current values when subscribed and whenever any of them changes. This is a ReactiveUI compatibility shim. Available for 2 to 16 repeated arguments; the largest form is listed. | `TSender : class`: The type of the sender to monitor for property changes; `T1`: The type of the first observed property value; `T2`: The type of the second observed property value; `T3`: The type of the third observed property value; `T4`: The type of the fourth observed property value; `T5`: The type of the fifth observed property value; `T6`: The type of the sixth observed property value; `T7`: The type of the seventh observed property value; `T8`: The type of the eighth observed property value; `T9`: The type of the ninth observed property value; `T10`: The type of the tenth observed property value; `T11`: The type of the eleventh observed property value; `T12`: The type of the twelfth observed property value; `T13`: The type of the thirteenth observed property value; `T14`: The type of the fourteenth observed property value; `T15`: The type of the fifteenth observed property value; `T16`: The type of the sixteenth observed property value; `TSender` `sender`: The sender instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property2`: An expression that selects the second property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property3`: An expression that selects the third property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property4`: An expression that selects the fourth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property5`: An expression that selects the fifth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property6`: An expression that selects the sixth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property7`: An expression that selects the seventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property8`: An expression that selects the eighth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property9`: An expression that selects the ninth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property10`: An expression that selects the tenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property11`: An expression that selects the eleventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property12`: An expression that selects the twelfth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property13`: An expression that selects the thirteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property14`: An expression that selects the fourteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property15`: An expression that selects the fifteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property16`: An expression that selects the sixteenth property to observe; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property2Expression`: The caller argument expression for `property2`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property3Expression`: The caller argument expression for `property3`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property4Expression`: The caller argument expression for `property4`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property5Expression`: The caller argument expression for `property5`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property6Expression`: The caller argument expression for `property6`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property7Expression`: The caller argument expression for `property7`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property8Expression`: The caller argument expression for `property8`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property9Expression`: The caller argument expression for `property9`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property10Expression`: The caller argument expression for `property10`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property11Expression`: The caller argument expression for `property11`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property12Expression`: The caller argument expression for `property12`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property13Expression`: The caller argument expression for `property13`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property14Expression`: The caller argument expression for `property14`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property15Expression`: The caller argument expression for `property15`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property16Expression`: The caller argument expression for `property16`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable>`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits a PropertyValues holding the latest value of each property, on subscription and whenever any of them changes. |
+| `WhenAnyValue(TSender sender, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, Expression> property6, Expression> property7, Expression> property8, Expression> property9, Expression> property10, Expression> property11, Expression> property12, Expression> property13, Expression> property14, Expression> property15, Expression> property16, Func selector, string property1Expression = "", string property2Expression = "", string property3Expression = "", string property4Expression = "", string property5Expression = "", string property6Expression = "", string property7Expression = "", string property8Expression = "", string property9Expression = "", string property10Expression = "", string property11Expression = "", string property12Expression = "", string property13Expression = "", string property14Expression = "", string property15Expression = "", string property16Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes 16 properties and emits the result of a selector applied to their current values when subscribed and whenever any of them changes. This is a ReactiveUI compatibility shim. Available for 1 to 16 repeated arguments; the largest form is listed. | `TSender : class`: The type of the sender to monitor for property changes; `T1`: The type of the first observed property value; `T2`: The type of the second observed property value; `T3`: The type of the third observed property value; `T4`: The type of the fourth observed property value; `T5`: The type of the fifth observed property value; `T6`: The type of the sixth observed property value; `T7`: The type of the seventh observed property value; `T8`: The type of the eighth observed property value; `T9`: The type of the ninth observed property value; `T10`: The type of the tenth observed property value; `T11`: The type of the eleventh observed property value; `T12`: The type of the twelfth observed property value; `T13`: The type of the thirteenth observed property value; `T14`: The type of the fourteenth observed property value; `T15`: The type of the fifteenth observed property value; `T16`: The type of the sixteenth observed property value; `TRet`: The return type of the selector function; `TSender` `sender`: The sender instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects the first property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property2`: An expression that selects the second property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property3`: An expression that selects the third property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property4`: An expression that selects the fourth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property5`: An expression that selects the fifth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property6`: An expression that selects the sixth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property7`: An expression that selects the seventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property8`: An expression that selects the eighth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property9`: An expression that selects the ninth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property10`: An expression that selects the tenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property11`: An expression that selects the eleventh property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property12`: An expression that selects the twelfth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property13`: An expression that selects the thirteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property14`: An expression that selects the fourteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property15`: An expression that selects the fifteenth property to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property16`: An expression that selects the sixteenth property to observe; [`Func`](https://learn.microsoft.com/dotnet/api/system.func-17) `selector`: A function that converts the observed property values to the return type; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property1Expression`: The caller argument expression for `property1`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property2Expression`: The caller argument expression for `property2`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property3Expression`: The caller argument expression for `property3`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property4Expression`: The caller argument expression for `property4`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property5Expression`: The caller argument expression for `property5`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property6Expression`: The caller argument expression for `property6`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property7Expression`: The caller argument expression for `property7`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property8Expression`: The caller argument expression for `property8`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property9Expression`: The caller argument expression for `property9`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property10Expression`: The caller argument expression for `property10`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property11Expression`: The caller argument expression for `property11`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property12Expression`: The caller argument expression for `property12`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property13Expression`: The caller argument expression for `property13`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property14Expression`: The caller argument expression for `property14`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property15Expression`: The caller argument expression for `property15`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `property16Expression`: The caller argument expression for `property16`. Auto-populated by the compiler; [`string`](https://learn.microsoft.com/dotnet/api/system.string) `callerFilePath`: The source file path of the caller. Auto-populated by the compiler; [`int`](https://learn.microsoft.com/dotnet/api/system.int32) `callerLineNumber`: The source line number of the caller. Auto-populated by the compiler | [`IObservable`](https://learn.microsoft.com/dotnet/api/system.iobservable-1): An observable that emits the selector result on subscription and whenever any of the observed properties changes. |
+
+### WhenAny
+
+[Full description and examples](observing.md).
+
+Types: `ReactiveUI.Binding.ReactiveUIBindingExtensions`.
+
+#### `ReactiveUIBindingExtensions`
+
+**Methods**
+
+| Declaration | Description | Parameters | Returns |
+| --- | --- | --- | --- |
+| `WhenAny(TSender sender, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, Expression> property6, Expression> property7, Expression> property8, Expression> property9, Expression> property10, Expression> property11, Expression> property12, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector, string property1Expression = "", string property2Expression = "", string property3Expression = "", string property4Expression = "", string property5Expression = "", string property6Expression = "", string property7Expression = "", string property8Expression = "", string property9Expression = "", string property10Expression = "", string property11Expression = "", string property12Expression = "", string callerFilePath = "", int callerLineNumber = 0)` | Observes 12 properties and emits the selector applied to their observed changes, on subscription and whenever any of them changes. Available for 1 to 12 repeated arguments; the largest form is listed. | `TSender : class`: The type of the sender to monitor for property changes; `TRet`: The return type of the selector; `T1`: The type of property 1 value; `T2`: The type of property 2 value; `T3`: The type of property 3 value; `T4`: The type of property 4 value; `T5`: The type of property 5 value; `T6`: The type of property 6 value; `T7`: The type of property 7 value; `T8`: The type of property 8 value; `T9`: The type of property 9 value; `T10`: The type of property 10 value; `T11`: The type of property 11 value; `T12`: The type of property 12 value; `TSender` `sender`: The sender instance to observe for property changes; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property1`: An expression that selects property 1 to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property2`: An expression that selects property 2 to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property3`: An expression that selects property 3 to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property4`: An expression that selects property 4 to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property5`: An expression that selects property 5 to observe; [`Expression>`](https://learn.microsoft.com/dotnet/api/system.linq.expressions.expression-1) `property6`: An expression that selects property 6 to observe; [`Expression