【发布时间】:2019-08-12 11:18:21
【问题描述】:
我正在使用带有响应式 UI 的动态数据,
` _propList.Connect()
.WhenAnyPropertyChanged()
.Subscribe(t =>
{
}`
如果我只是编辑网格中的任何项目,代码将被触发。但是,当我尝试添加或删除项目时,它不会被触发。
在我的视图模型中我有这样的东西
private SourceList<Decision> _myList { get; set; } = new SourceList<Decision>();
private readonly IObservableCollection<Decision> _targetCollection = new ObservableCollectionExtended<Decision>();
public IObservableCollection<Decision> TargetCollection => _targetCollection;
在我看来,我只是
this.OneWayBind(VM, vm => vm.TargetCollection, v => v.DataGrid1.DataSource);
如果我在网格中删除或添加项目,然后按保存
_myList.Count() 没有改变,但是 _TargetCollection.Count() 将根据我删除的项目数增加或减少
在我的视图模型中
OKCmd = ReactiveCommand.Create(() =>
{
//// _myList.Connect()
////.Subscribe(t =>
//// {
//// ;
//// }
//// );
t.Items.count() 它是初始加载项目,但我似乎不知道添加或删除了哪些项目。我是不是错过了什么。
当然,我可以跟踪在 UI 中添加或删除了哪些项目,但我希望我不必这样做。
谢谢。
【问题讨论】:
标签: mvvm datagrid reactiveui