ToProperty is for ViewModels, while BindTo is a little more flexible and is intended to be used in the presentation layer of your applications. For example (this particular use case is not really the best practice, but it is a good example):
this.WhenAny(x => x.ViewModel.IsTextEnabled)
.Select(x => x ? Visibility.Visible : Visibility.Collapsed)
.BindTo(this, x => x.TextBox.Visibility);
source
share