Skip to content

ReactiveUI.Reactive namespace

Part of the ReactiveUI.Reactive package.

TypeKindSummary
AndroidCommandBindersclassAndroid implementation that provides binding to an ICommand in the ViewModel to a control in the View.
AndroidObservableForWidgetsclassProvides property change notifications for a curated set of Android widget types which are not generally observable through standard property change mechanisms.
AppKitObservableForPropertyclassAppKitObservableForProperty is an object that knows how to create notifications for a given type of object. Implement this if you are porting RxUI to a new UI toolkit, or generally want to enable WhenAny for another type of object that can be observed in a unique way.
AppSupportJsonSuspensionDriverclassLoads and saves state to persistent storage under the platform Application Support directory.
AutoPersistHelperMixinsclassCollection AutoPersist members and the persistence metadata/driver engine for [AutoPersistHelperMixins](#
AutoPersistMetadataclassPublic-facing persistence metadata for AutoPersist.
AutoSuspendHelperclassHelps manage android application lifecycle events.
AutoSuspendHelperclassBridges iOS lifecycle notifications into [SuspensionHost](# so applications can persist and restore state without manually wiring UIKit events.
BundleSuspensionDriverclassLoads and saves application state using the platform bundle.
CanActivateViewFetcherclassThis class implements View Activation for classes that explicitly describe their activation via [ICanActivate](# This class is used by the framework.
CollectionViewSectionInformationclassClass used to extract a common API between UICollectionView and UICollectionViewCell.
CollectionViewSectionInformationclassClass used to extract a common API between UICollectionView and UICollectionViewCell.
CombinedReactiveCommandclassEncapsulates a composite user interaction.
CommandBinderImplementationclassImplements command binding for [CommandBinderMixins](# extension methods by wiring ViewModel ICommand instances to view controls and keeping the binding up to date as the command and/or control instance changes.
CommandBinderMixinsclassProvides static methods for binding commands from a view model to controls on a view, enabling declarative command wiring in reactive user interfaces.
ComponentModelFallbackConverterclassFallback converter using System.ComponentModel.TypeDescriptor for reflection-based type conversion. This converter is consulted only when no typed converter matches.
ContextExtensionsclassProvides extension methods for binding to Android services using observable sequences.
ControlFetcherMixinsclassExtension methods associated with the ControlFetcher class.
DummySuspensionDriverclassProvides a no-op implementation of the ISuspensionDriver interface for scenarios where application state persistence is not required.
FlexibleCommandBinderclassProvides a base class for creating flexible command binding strategies that associate commands with object events and properties at runtime.
IActivatableViewModelinterfaceImplementing this interface on a ViewModel indicates that the ViewModel is interested in Activation events. Instantiate the Activator, then call WhenActivated on your class to register what you want to happen when the View is activated. See the documentation for ViewModelActivator to read more about Activation.
ICanActivateinterfaceThis Interface is used by the framework to explicitly provide activation events. Usually you can ignore this unless you are porting RxUI to a new UI Toolkit.
ICreatesCustomizedCommandRebindinginterfaceOptional interface that platforms can register to customize command rebinding behavior. This allows platforms to optimize how commands are updated when the command instance changes but the control remains the same.
IInteractioninterfaceRepresents an interaction between collaborating application components.
IInteractionBinderImplementationinterfaceImplementation logic for [Interaction](# binding.
ILayoutViewHostinterfaceRepresents a host that provides access to a layout view instance.
IMessageBusinterfaceIMessageBus represents an object that can act as a "Message Bus", a simple way for ViewModels and other objects to communicate with each other in a loosely coupled way.
IROObservableForPropertyclassGenerates observables for [IReactiveObject](# instances by subscribing to their change notifications.
IReactiveObjectExtensionsclassExtension methods associated with the IReactiveObject interface.
IReactiveObjectStateSlotinterfaceExposes a single storage slot on a reactive object so [IReactiveObjectExtensions](# can keep that object's notification state (change/changing/exception subjects, suppression counters) on the instance itself rather than in a process-wide ConditionalWeakTable. This removes a per-notification table lookup and the associated allocations on the hot path.
IRoutableViewModelinterfaceDefines the minimum contract for view models that participate in [RoutingState](# navigation.
IScreeninterfaceRepresents any object capable of hosting its own navigation stack via [RoutingState](#
ISuspensionDriverinterfaceRepresents a driver capable of loading and saving application state to persistent storage.
ISuspensionHostinterfaceISuspensionHost represents a standardized version of the events that the host operating system publishes. Subscribe to these events in order to handle app suspend / resume.
IgnoreResourceAttributeclassAttribute that marks a resource to be ignored.
IndexNormalizerclassTakes a batch of updates in their natural order (i.e. the order they occurred in the client code) and normalizes them to something iOS can consume when performing batch updates to a table or collection view iOS requires that all deletes be specified first with indexes relative to the source data before any insertions are applied it then requires insertions be specified next relative to the source data after any deletions are applied this code also de-duplicates as necessary. The simplest possible scenario for this is adding and immediately deleting an item. iOS should never even be told about this set of updates because they cancel each other out.
InteractionclassRepresents an interaction between collaborating application components.
InteractionBinderImplementationclassProvides methods to bind [Interaction](# to handlers.
InteractionBindingMixinsclassThis class provides extension methods for the ReactiveUI view binding mechanism.
KVOObservableForPropertyclassProvides change notifications for Cocoa NSObject instances using Key-Value Observing (KVO).
LayoutViewHostclassBase class implementing the Android ViewHolder pattern.
MessageBusclassMessageBus represents an object that can act as a "Message Bus", a simple way for ViewModels and other objects to communicate with each other in a loosely coupled way.
MutableDependencyResolverExtensionsclassPublic AOT-friendly generic registration helpers for IMutableDependencyResolver. These avoid reflection by relying on generic constraints and parameterless constructors.
OAPHCreationHelperMixinsclassProvides extension methods for converting observables to ObservableAsPropertyHelper instances, enabling property change notifications in reactive objects.
ObservableAsPropertyHelperclassObservableAsPropertyHelper is a class to help ViewModels implement "output properties", that is, a property that is backed by an Observable. The property will be read-only, but will still fire change notifications. This class can be created directly, but is more often created via the [OAPHCreationHelperMixins](# extension methods.
ObservableForPropertyBaseclassRepresents an object that knows how to create notifications for a given type of object. Implement this when porting ReactiveUI to a new UI toolkit, or to enable WhenAny* support for another type that can be observed in a unique way.
ObservableFuncMixinsclassProvides extension methods for creating observables from expression-based property accessors on view model instances.
ObservableLoggingMixinsclassExtension methods to assist with Logging.
ObservableMixinsclassProvides extension methods and utilities for working with observable sequences, including helpers for filtering null values and converting asynchronous actions to observables.
ObservedChangedMixinsclassProvides extension methods for working with observed property changes, enabling retrieval of property names and values from change notifications, and conversion of change streams to value streams.
POCOObservableForPropertyclassFinal fallback implementation for WhenAny-style observation when no observable mechanism is available.
PlatformRegistrationsclass.NET Framework platform registrations.
PropertyBinderImplementationclassPrivate binding-pipeline helpers and observable adapters for [PropertyBinderImplementation](#
PropertyBindingMixinsclassThis class provides extension methods for the ReactiveUI view binding mechanism.
ReactiveActivityclassThis is an Activity that is both an Activity and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveActivityclassThis is an Activity that is both an Activity and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionReusableViewclassThis is a UICollectionReusableView that is both an UICollectionReusableView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionReusableViewclassThis is a UICollectionReusableView that is both an UICollectionReusableView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionViewclassThis is a UICollectionView that is both an UICollectionView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionViewclassThis is a UICollectionView that is both an UICollectionView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionViewCellclassThis is a UICollectionViewCell that is both an UICollectionViewCell and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionViewCellclassThis is a UICollectionViewCell that is both an UICollectionViewCell and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionViewControllerclassThis is a UICollectionViewController that is both an UICollectionViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionViewControllerclassThis is a UICollectionViewController that is both an UICollectionViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveCollectionViewSourceclassReactiveCollectionViewSource is a Collection View Source that is connected to a Read Only List that automatically updates the View based on the contents of the list. The collection changes are buffered and View items are animated in and out as items are added.
ReactiveCollectionViewSourceExtensionsclassExtension methods for [ReactiveCollectionViewSource](#
ReactiveCommandclassEncapsulates a user action behind a reactive interface.
ReactiveCommandclassEncapsulates a user interaction behind a reactive interface.
ReactiveCommandBaseclassA base class for generic reactive commands.
ReactiveCommandMixinsclassExtension methods associated with the ReactiveCommand class.
ReactiveControlclassThis is a UIControl that is both and UIControl and has a ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveControlclassThis is a UIControl that is both and UIControl and has a ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveFragmentclassThis is a Fragment that is both an Activity and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveFragmentclassThis is a Fragment that is both an Activity and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveImageViewclassThis is an ImageView that is both and ImageView and has a ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveImageViewclassThis is an ImageView that is both and ImageView and has a ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveNavigationControllerclassThis is a UINavigationController that is both an UINavigationController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveNavigationControllerclassThis is a UINavigationController that is both an UINavigationController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveNotifyPropertyChangedMixinsclassProvides extension methods for observing property change notifications on objects, enabling reactive programming patterns for property changes without relying on expression tree analysis. These methods allow consumers to create observable sequences that emit notifications when specified properties change, supporting both simple property names and expression-based property access.
ReactiveObjectclassReactiveObject is the base object for ViewModel classes, and it implements INotifyPropertyChanged. In addition, ReactiveObject provides Changing and Changed Observables to monitor object changes.
ReactivePageViewControllerclassThis is a UIPageViewController that is both an UIPageViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactivePageViewControllerclassThis is a UIPageViewController that is both an UIPageViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactivePropertyclassRepresents a reactive property that notifies subscribers of value changes and supports asynchronous validation and error notification.
ReactivePropertyMixinsclassProvides extension methods for adding validation and observing validation errors on ReactiveProperty instances.
ReactiveRecordrecordReactiveObject is the base object for ViewModel classes, and it implements INotifyPropertyChanged. In addition, ReactiveObject provides Changing and Changed Observables to monitor object changes.
ReactiveSplitViewControllerclassThis is a View that is both a NSSplitViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveSplitViewControllerclassThis is a View that is both a NSSplitViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTabBarControllerclassThis is a TabBar that is both an TabBar and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTabBarControllerclassThis is a TabBar that is both an TabBar and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTableViewclassThis is a TableView that is both an TableView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTableViewclassThis is a TableView that is both an TableView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTableViewCellclassThis is a UITableViewCell that is both an UITableViewCell and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTableViewCellclassThis is a UITableViewCell that is both an UITableViewCell and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTableViewControllerclassThis is a NSTableViewController that is both an NSTableViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTableViewControllerclassThis is a NSTableViewController that is both an NSTableViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveTableViewSourceclassReactiveTableViewSource is a Table View Source that is connected to a List that automatically updates the View based on the contents of the list. The collection changes are buffered and View items are animated in and out as items are added.
ReactiveTableViewSourceExtensionsclassExtension methods for [ReactiveTableViewSource](#
ReactiveViewclassThis is a View that is both a NSView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveViewclassThis is a View that is both a NSView and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveViewControllerclassThis is a View that is both a NSViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveViewControllerclassThis is a View that is both a NSViewController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReactiveViewHostclassA class that implements the Android ViewHolder pattern with a ViewModel. Use it along with GetViewHost.
ReactiveWindowControllerclassThis is a NSWindowController that is both a NSWindowController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
ReflectionclassHelper class for handling reflection and expression-tree related operations.
RegistrationsclassThe main registration for common classes for the Splat dependency injection. We have code that runs reflection through the different ReactiveUI classes searching for IWantsToRegisterStuff and will register all our required DI interfaces. The registered items in this classes are common for all Platforms. To get these registrations after the main ReactiveUI Initialization use the DependencyResolverMixins.InitializeReactiveUI() extension method.
ResolveStrategyenumResolution strategy for bindings.
RoutableViewModelMixinsclassProvides extension methods for IRoutableViewModel to observe and manage navigation-related focus and lifecycle events within a navigation stack.
RoutedViewHostclassA [ReactiveNavigationController](# that observes a [RoutingState](# and mirrors its navigation stack into UIKit.
RoutingStateclassRoutingState manages the ViewModel Stack and allows ViewModels to navigate to other ViewModels.
RoutingStateMixinsclassProvides extension methods for querying and retrieving view models from a routing state navigation stack.
RxCacheSizeclassProvides configurable cache size limits for ReactiveUI's internal caching mechanisms. These values can be configured via [WithCacheSizes](# or will auto-initialize with platform-specific defaults.
RxSchedulersclassProvides access to ReactiveUI schedulers.
RxStateclassProvides global state and configuration for ReactiveUI's exception handling in observable pipelines.
RxSuspensionclassProvides access to the application's suspension host for managing process lifecycle events, such as application suspension and resumption. This class enables integration with platform-specific lifecycle management, particularly on mobile devices.
ScheduledSubjectclassA subject which dispatches all its events on the specified Scheduler.
SharedPreferencesExtensionsclassExtension methods for shared preferences.
SuspensionHostclassDefault strongly-typed implementation of [ISuspensionHost](#
SuspensionHostExtensionsclassExtension methods associated with the ISuspensionHost interface.
SwitchSubscribeMixinsclassExtension methods for subscribing to observables that emit other observables, automatically switching to new inner observables when the source emits.
TableSectionHeaderclassA header or footer of a table section.
TableSectionInformationclassClass used to extract a common API between UICollectionView and UICollectionViewCell.
TableSectionInformationclassClass used to extract a common API between UITableView and UITableViewCell.
TargetActionCommandBinderclassAn [ICreatesCommandBinding](# implementation that binds commands using Cocoa's Target/Action mechanism.
UIControlCommandExtensionsclassExtension methods for binding ICommand to a UIControl.
UIKitCommandBindersclassUI Kit command binder platform registrations.
UIKitObservableForPropertyclassUIKitObservableForProperty provides toolkit-specific observable factories used by ReactiveUI to generate change notifications for UIKit controls in WhenAny* and related operators.
UnhandledInteractionExceptionclassIndicates that an interaction has gone unhandled.
UpdateclassAn update for the index normalizer.
UpdateTypeenumThe type of update triggered.
UsbManagerExtensionsclassExtension methods for the usb manager.
ViewCommandExtensionsclassProvides extension methods for binding commands to view controls.
ViewForMixinsclassProvides extension methods for registering activation logic on views and view models that support activation. These methods enable the execution of custom code when a view or view model is activated or deactivated, facilitating resource management and lifecycle handling in reactive UI scenarios.
ViewMixinsclassProvides extension methods for retrieving the view host associated with a given view.
ViewModelActivatorclassViewModelActivator is a helper class that you instantiate in your ViewModel classes in order to help with Activation. Views will internally call this class when the corresponding View comes on screen. This means you can set up resources such as subscriptions to global objects that should be cleaned up on exit. Once you instantiate this class, use the WhenActivated method to register what to do when activated.
ViewModelViewHostclassA controller that resolves an [IViewFor](# implementation for the supplied [ViewModel](# and hosts it as a child view controller.
WaitForDispatcherSchedulerclassThis scheduler attempts to deal with some of the brain-dead defaults on certain Microsoft platforms that make it difficult to access the Dispatcher during startup. This class wraps a scheduler and if it isn't available yet, it simply runs the scheduled item immediately.
WhenAnyMixinsclassProvides the arity-9 WhenAny / WhenAnyValue / WhenAnyDynamic extension overloads.
WhenAnyObservableMixinsclassProvides the arity-9 WhenAnyObservable extension overloads.
WireUpResourceAttributeclassSpecifies that a resource should be wired up to the target element, optionally using a specified resource name override.