【发布时间】:2026-02-05 14:40:01
【问题描述】:
在带有 ReactiveUI 的 MVVM 应用程序中: 我有一些实体的简单编辑器表单,比如 Persons。在左侧,我有一个显示所有可用人员的列表框。在右侧,我有一个显示所选人员属性的表单。我的代码内绑定如下所示:
this.OneWayBind(this.ViewModel, x => x.Persons, x => x.LBPersons.ItemsSource).DisposeWith(disposables);
this.Bind(this.ViewModel, x => x.SelectedPerson, x => x.LBPersons.SelectedItem).DisposeWith(disposables);
请注意,Person 是一个简单的 List,而不是 ObservableCollection。它在显示表单时被加载(这个问题不是关于添加/删除人员)。
显示所选人员属性的表单控件的绑定如下所示,我仅显示 FirstName 和 LastName 作为示例:
this.Bind(this.ViewModel, x => x.SelectedPerson.FirstName, x => x.TBFirstName.Text, TBFirstName.Events().LostKeyboardFocus).DisposeWith(disposables);
this.Bind(this.ViewModel, x => x.SelectedPerson.LastName, x => x.TBLastName.Text, TBLastName.Events().LostKeyboardFocus).DisposeWith(disposables);
ListBox 项目是由名字和姓氏组合而成的。我想要实现的是在用户输入表单字段时自动更新列表框的选定项。 (我想我将不得不摆脱 LostKeyboardFocus 事件选择器,但这仍然不会导致自动更新)。
知道如何实现吗?
【问题讨论】:
标签: reactiveui