【发布时间】:2014-10-21 14:56:49
【问题描述】:
我正在尝试动态修改 ViewModel 的 List (ObservableCollection) 中的项目,并通过 MvvmCross 绑定在 View 中更新这些更改。我的最终目标是,当用户单击列表项时,我会弹出一个对话框,要求他们编辑该项目。当对话框被关闭时,视图模型将被更新(通过我假设的 ICommand)并且修改后的值现在将在列表中。
我还没有查看对话框,所以现在我只是尝试在每次单击列表项时切换一个布尔值,并在 MvxListView 中更改该值。我的视图中的 MxvListView 绑定到我的 ViewModel 中的 ObservableCollection 并且有一个 MvxCommand 在选择项目时被调用。所有这些都正常工作,我可以看到调试器中的值发生了变化,但是,新值没有显示在 MvxListView 中。所以我的问题是:如何在 ObservableCollection 中的单个项目中获取修改后的数据以绑定到 MvxListView?
我在网上看到的所有示例都使用 ObservableCollection 进行动态绑定,但它们只添加或删除项目。我还没有找到任何修改项目的例子。如果我将 MvxCommand 中的代码从修改数据更改为添加或删除项目,则列表将得到更新。所以这告诉我我想我很接近了。
我没有将代码复制粘贴到这里,而是在 github 上创建了一个示例项目来查看: https://github.com/smulrich/breaktimer
感谢您的帮助。
【问题讨论】:
标签: mvvm data-binding android-listview xamarin mvvmcross