The recording of the first ever ReactiveUI virtual conference is available on our YouTube Channel.

ICreatesObservableForProperty Interface

Summary

ICreatesObservableForProperty represents 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.
graph BT Type-.->Interface0["IEnableLogger"] click Interface0 "/api/Splat/IEnableLogger" Type["ICreatesObservableForProperty"] class Type type-node Implementing0["DependencyObjectObservableForProperty"]-.->Type click Implementing0 "/api/ReactiveUI/DependencyObjectObservableForProperty" Implementing1["AndroidObservableForWidgets"]-.->Type click Implementing1 "/api/ReactiveUI/AndroidObservableForWidgets" Implementing2["WinformsCreatesObservableForProperty"]-.->Type click Implementing2 "/api/ReactiveUI.Winforms/WinformsCreatesObservableForProperty" Implementing3["INPCObservableForProperty"]-.->Type click Implementing3 "/api/ReactiveUI/INPCObservableForProperty" Implementing4["KVOObservableForProperty"]-.->Type click Implementing4 "/api/ReactiveUI/KVOObservableForProperty" Implementing5["AppKitObservableForProperty"]-.->Type click Implementing5 "/api/ReactiveUI/AppKitObservableForProperty" Implementing6["POCOObservableForProperty"]-.->Type click Implementing6 "/api/ReactiveUI/POCOObservableForProperty" Implementing7["ObservableForPropertyBase"]-.->Type click Implementing7 "/api/ReactiveUI/ObservableForPropertyBase" Implementing8["IROObservableForProperty"]-.->Type click Implementing8 "/api/ReactiveUI/IROObservableForProperty" Implementing9["UIKitObservableForProperty"]-.->Type click Implementing9 "/api/ReactiveUI/UIKitObservableForProperty"

Syntax

public interface ICreatesObservableForProperty : IEnableLogger

Methods

Name Value Summary
GetAffinityForObject(Type, string, bool) int
Returns a positive integer when this class supports GetNotificationForProperty for this particular Type. If the method isn't supported at all, return a non-positive integer. When multiple implementations return a positive value, the host will use the one which returns the highest value. When in doubt, return '2' or '0'.
GetNotificationForProperty(object, Expression, string, bool, bool) IObservable<IObservedChange<object?, object?>>
Subscribe to notifications on the specified property, given an object and a property name.

Extension Methods

Name Value Summary
BindCommand<ICreatesObservableForProperty, TViewModel, TProp, TControl, TParam>(TViewModel?, Expression<Func<TViewModel, TProp?>>, Expression<Func<ICreatesObservableForProperty, TControl>>, Expression<Func<TViewModel, TParam?>>, string?) IReactiveBinding<TView, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindCommand<ICreatesObservableForProperty, TViewModel, TProp, TControl, TParam>(TViewModel?, Expression<Func<TViewModel, TProp?>>, Expression<Func<ICreatesObservableForProperty, TControl>>, IObservable<TParam?>, string?) IReactiveBinding<TView, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindCommand<ICreatesObservableForProperty, TViewModel, TProp, TControl>(TViewModel?, Expression<Func<TViewModel, TProp?>>, Expression<Func<ICreatesObservableForProperty, TControl>>, string?) IReactiveBinding<TView, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindValidation<ICreatesObservableForProperty, TViewModel, TViewModelProperty, TViewProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, Expression<Func<ICreatesObservableForProperty, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds the specified ViewModel property validation to the View property.
BindValidation<ICreatesObservableForProperty, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<ICreatesObservableForProperty, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<ICreatesObservableForProperty, TViewModel, TViewProperty>(TViewModel?, Expression<Func<ICreatesObservableForProperty, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds the overall validation of a ViewModel to a specified View property.
BindValidation<ICreatesObservableForProperty, TViewModel, TViewProperty>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper?>>, Expression<Func<ICreatesObservableForProperty, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds a ValidationHelper from a ViewModel to a specified View property.
BindValidation<ICreatesObservableForProperty, TViewModel>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<ICreatesObservableForProperty, TViewModel>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<ICreatesObservableForProperty, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<ICreatesObservableForProperty, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
InvokeViewModelAction<T>(Action<T>) object
This is a thing I lifted from Prism.
Log<ICreatesObservableForProperty>() IFullLogger
Call this method to write log entries on behalf of the current class.
From LogHost
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T6>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T7>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T8>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T9>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T10>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T11>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T12>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, T10?, T11?, T12?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T6>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T7>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T8>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T9>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T10>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T11>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, T10?, T11?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T6>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T7>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T8>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T9>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T10>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, T10?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T6>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T7>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T8>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T9>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5, T6, T7, T8>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T6>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T7>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T8>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T6>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T7>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5, T6>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T6>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4, T5>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T5>?>>, Func<T1?, T2?, T3?, T4?, T5?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3, T4>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T4>?>>, Func<T1?, T2?, T3?, T4?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2, T3>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T3>?>>, Func<T1?, T2?, T3?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet, T1, T2>(Expression<Func<ICreatesObservableForProperty, IObservable<T1>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<T2>?>>, Func<T1?, T2?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Observe a observable which is set to a property, and automatically subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ICreatesObservableForProperty, TRet>(Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>, Expression<Func<ICreatesObservableForProperty, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
With<ICreatesObservableForProperty, TKey, TField>(Dictionary<TKey, TField>, IDictionary<TKey, TField>) TBuilder
Adds the specified dictionary to the provided dictionary.