在ReactiveUI中的OneWayBind中传播null

本文关键字:传播 null OneWayBind ReactiveUI 中的 | 更新日期: 2023-09-27 18:06:59

我有相当简单的ReactiveObject ViewModel,其中属性是ReactiveObject s。

在视图中我有以下绑定:

this.OneWayBind(ViewModel,
                 vm => vm.CurrentEditor.SelectedTreeViewItem.ItemTitle,
                 v => v.CurrentSelectionImage.ToolTip);

CurrentEditor变为null时,是否可以将工具提示设置为null ?

在ReactiveUI中的OneWayBind中传播null

这是按照文档所期望的行为。

可能有更好的方法来实现它,但至少你可以使用WhenAnyValue并将其绑定到CurrentEditor CurrentEditor. selectedtreeviewitem . itemtitle:

ViewModel.WhenAnyValue(vm => vm.CurrentEditor,
                       vm => vm.CurrentEditor.SelectedTreeViewItem.ItemTitle,
                       (ce, title) => ce == null ? null : title)
         .BindTo(this, v => v.CurrentSelectionImage.ToolTip);