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


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


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


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

Type Parameters

Name Description
TView The view type.
TViewModel The view model type.
TProp The property type.
TControl The control type.
TParam The parameter type.


Name Type Description
view TView The View.
viewModel TViewModel The View model.
propertyName Expression<Func<TViewModel, TProp>> The ViewModel command to bind.
controlName 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.

Return Value

Type Description
IReactiveBinding<TView, TViewModel, TProp> A class representing the binding. Dispose it to disconnect the binding.