Table of Contents

Class CommandBinderImplementation

Namespace
ReactiveUI
Assembly
ReactiveUI.dll

Used by the CommandBinder extension methods to handle binding View controls and ViewModel commands.

public class CommandBinderImplementation : Object, IEnableLogger
Inheritance
CommandBinderImplementation
Implements
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

CommandBinderImplementation()

public CommandBinderImplementation()

Methods

BindCommand<TView, TViewModel, TProp, TControl, TParam>(TViewModel?, TView, Expression<Func<TViewModel, TProp?>>, Expression<Func<TView, TControl>>, IObservable<TParam?>, string?)

Bind a command from the ViewModel to an explicitly specified control on the View.

public IReactiveBinding<TView, TProp> BindCommand<TView, TViewModel, TProp, TControl, TParam>(TViewModel? viewModel, TView view, Expression<Func<TViewModel, TProp?>> vmProperty, Expression<Func<TView, TControl>> controlProperty, IObservable<TParam?> withParameter, string? toEvent = null) where TView : class, IViewFor where TViewModel : class where TProp : ICommand

Parameters

viewModel TViewModel

The View model.

view TView

The View.

vmProperty Expression<Func<TViewModel, TProp>>

The ViewModel command to bind.

controlProperty Expression<Func<TView, TControl>>

The name of the control on the view.

withParameter IObservable<TParam>

The ViewModel property to pass as the param of the ICommand.

toEvent string

If specified, bind to the specific event instead of the default. NOTE: If this parameter is used inside WhenActivated, it's important to dispose the binding when the view is deactivated.

Returns

IReactiveBinding<TView, TProp>

A class representing the binding. Dispose it to disconnect the binding.

Type Parameters

TView

The view type.

TViewModel

The view model type.

TProp

The property type.

TControl

The control type.

TParam

The parameter type.

BindCommand<TView, TViewModel, TProp, TControl, TParam>(TViewModel?, TView, Expression<Func<TViewModel, TProp?>>, Expression<Func<TView, TControl>>, Expression<Func<TViewModel, TParam?>>, string?)

Bind a command from the ViewModel to an explicitly specified control on the View.

public IReactiveBinding<TView, TProp> BindCommand<TView, TViewModel, TProp, TControl, TParam>(TViewModel? viewModel, TView view, Expression<Func<TViewModel, TProp?>> vmProperty, Expression<Func<TView, TControl>> controlProperty, Expression<Func<TViewModel, TParam?>> withParameter, string? toEvent = null) where TView : class, IViewFor where TViewModel : class where TProp : ICommand

Parameters

viewModel TViewModel

The View model.

view TView

The View.

vmProperty Expression<Func<TViewModel, TProp>>

The ViewModel command to bind.

controlProperty Expression<Func<TView, TControl>>

The name of the control on the view.

withParameter Expression<Func<TViewModel, TParam>>

The ViewModel property to pass as the param of the ICommand.

toEvent string

If specified, bind to the specific event instead of the default. NOTE: If this parameter is used inside WhenActivated, it's important to dispose the binding when the view is deactivated.

Returns

IReactiveBinding<TView, TProp>

A class representing the binding. Dispose it to disconnect the binding.

Type Parameters

TView

The view type.

TViewModel

The view model type.

TProp

The property type.

TControl

The control type.

TParam

The parameter type.

Exceptions

ArgumentNullException

nameof(vmProperty) or nameof(vmProperty).