Table of Contents

Class ReactiveViewHost<TViewModel>

Namespace
ReactiveUI
Assembly
ReactiveUI.dll

A class that implements the Android ViewHolder pattern with a ViewModel. Use it along with GetViewHost.

public abstract class ReactiveViewHost<TViewModel> : LayoutViewHost, ILayoutViewHost, IViewFor<TViewModel>, IViewFor, IActivatableView, IReactiveNotifyPropertyChanged<ReactiveViewHost<TViewModel>>, IReactiveObject, INotifyPropertyChanged, INotifyPropertyChanging, IEnableLogger where TViewModel : class, IReactiveObject

Type Parameters

TViewModel

The view model type.

Inheritance
ReactiveViewHost<TViewModel>
Implements
IViewFor<TViewModel>
Inherited Members
Extension Methods
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)

Constructors

ReactiveViewHost()

Initializes a new instance of the ReactiveViewHost<TViewModel> class.

protected ReactiveViewHost()

ReactiveViewHost(Context, int, ViewGroup, bool, bool)

Initializes a new instance of the ReactiveViewHost<TViewModel> class.

protected ReactiveViewHost(Context ctx, int layoutId, ViewGroup parent, bool attachToRoot = false, bool performAutoWireup = true)

Parameters

ctx Context

The CTX.

layoutId int

The layout identifier.

parent ViewGroup

The parent.

attachToRoot bool

if set to true [attach to root].

performAutoWireup bool

if set to true [perform automatic wire-up].

Fields

allPublicProperties

All public properties.

[JsonIgnore]
protected Lazy<PropertyInfo[]>? allPublicProperties

Field Value

Lazy<PropertyInfo[]>

Properties

Changed

Gets an Observable that fires after a property has changed. Note that this should not fire duplicate change notifications if a property is set to the same value multiple times.

[JsonIgnore]
public IObservable<IReactivePropertyChangedEventArgs<ReactiveViewHost<TViewModel>>> Changed { get; }

Property Value

IObservable<IReactivePropertyChangedEventArgs<ReactiveViewHost<TViewModel>>>

Changing

Gets an observable that fires before a property is about to be changed. Note that this should not fire duplicate change notifications if a property is set to the same value multiple times.

[JsonIgnore]
public IObservable<IReactivePropertyChangedEventArgs<ReactiveViewHost<TViewModel>>> Changing { get; }

Property Value

IObservable<IReactivePropertyChangedEventArgs<ReactiveViewHost<TViewModel>>>

ThrownExceptions

Gets the thrown exceptions.

[JsonIgnore]
public IObservable<Exception> ThrownExceptions { get; }

Property Value

IObservable<Exception>

ViewModel

Gets or sets the ViewModel corresponding to this specific View. This should be a DependencyProperty if you're using XAML.

public TViewModel? ViewModel { get; set; }

Property Value

TViewModel

Methods

AreChangeNotificationsEnabled()

Gets a value indicating if change notifications are enabled.

public bool AreChangeNotificationsEnabled()

Returns

bool

A value indicating if change notifications are on or off.

SuppressChangeNotifications()

When this method is called, an object will not fire change notifications (neither traditional nor Observable notifications) until the return value is disposed.

public IDisposable SuppressChangeNotifications()

Returns

IDisposable

An object that, when disposed, reenables change notifications.

Events

PropertyChanged

public event PropertyChangedEventHandler? PropertyChanged

Event Type

PropertyChangedEventHandler

PropertyChanging

public event PropertyChangingEventHandler? PropertyChanging

Event Type

PropertyChangingEventHandler