gpt4 book ai didi

c# - 数据绑定(bind)到 MvvMCross 中的非 ViewModel 属性

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:03 24 4
gpt4 key购买 nike

我有一个 MvxListView,它绑定(bind)到 ViewModel 上的一个属性,它是一个 List<MyClass> .

MyClass是一个普通的旧对象,它有一个名为 Completed 的 bool 属性。我已经绑定(bind)到 CheckedTextView 的 Checked 属性在我的 ListView 项模板中。

当我单击 ListView 项时,它会调用一个调用 DoSomething(MyClass item) 的命令方法。在DoSomething方法,我设置了Completed属性为其新值。但是,因为 MyClass不是 RaisePropertyChanged 的 ViewModel属性,选中的属性不会在用户界面中更新。

Completed 出现时,我将如何完成此基本 POCO 上的数据绑定(bind)以使用户界面更新?属性变化?

最佳答案

How would I accomplish data binding on this basic POCO to get the user interface to update when the Completed property changes?

Xaml/C# 风格的数据绑定(bind)依赖于 INotifyPropertyChanged - 没有这个 UI 就无法知道它需要更新。

因此,要使数据绑定(bind)正常工作,您的 MyClass 对象不能只是一个 POCO - 它需要以某种方式实现 INotifyPropertyChanged - 例如通过从 MvxNotifyPropertyChanged 继承或通过直接实现 INotifyPropertyChanged(例如,参见 http://msdn.microsoft.com/en-us/library/vstudio/ms229614%28v=vs.100%29.aspx)


除此之外:MvvmCross 还使 INotifyPropertyChanged 之外的其他绑定(bind)模式成为可能 - 例如参见 https://github.com/MvvmCross/MvvmCross/wiki/Databinding#rioFieldBinding 中的 INotifyChanged - 但这仍然需要不仅仅是 POCO 的东西来动态更新绑定(bind)。

关于c# - 数据绑定(bind)到 MvvMCross 中的非 ViewModel 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20911306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com