Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据绑定到MvvMCross中的非ViewModel属性_C#_Android_Data Binding_Mvvm_Mvvmcross - Fatal编程技术网

C# 数据绑定到MvvMCross中的非ViewModel属性

C# 数据绑定到MvvMCross中的非ViewModel属性,c#,android,data-binding,mvvm,mvvmcross,C#,Android,Data Binding,Mvvm,Mvvmcross,我有一个MvxListView,它绑定到ViewModel上的一个属性,该属性是一个列表 MyClass是一个普通的旧对象,它有一个名为Completed的布尔属性,我已将该属性绑定到列表视图项模板中的CheckedTextView的Checked属性 当我单击列表视图项时,它调用一个命令,该命令调用DoSomething(MyClass项)方法。在DoSomething方法中,我将Completed属性设置为其新值。但是,由于MyClass不是具有RaisePropertyChanged属性的

我有一个MvxListView,它绑定到ViewModel上的一个属性,该属性是一个
列表

MyClass
是一个普通的旧对象,它有一个名为
Completed
的布尔属性,我已将该属性绑定到列表视图项模板中的
CheckedTextView
的Checked属性

当我单击列表视图项时,它调用一个命令,该命令调用
DoSomething(MyClass项)
方法。在
DoSomething
方法中,我将
Completed
属性设置为其新值。但是,由于
MyClass
不是具有
RaisePropertyChanged
属性的ViewModel,因此选中的属性不会在用户界面中更新

我如何在这个基本POCO上完成数据绑定,以便在
Completed
属性更改时更新用户界面

如何在此基本POCO上完成数据绑定,以便在完成的属性更改时更新用户界面

Xaml/C风格的数据绑定依赖于INotifyPropertyChanged——没有它,UI就无法知道它需要更新

因此,要使数据绑定正常工作,您的
MyClass
对象不能只是一个POCO-它需要以某种方式实现
INotifyPropertyChanged
,例如通过继承
MvxNotifyPropertyChanged
或直接实现INotifyPropertyChanged(例如,请参阅)


旁白:MvvmCross还使其他绑定模式成为可能,而不仅仅是
INotifyPropertyChanged
——例如,请参见FieldBinding中的
INotifyChanged
——但这仍然需要一些不仅仅是POCO的东西来动态更新绑定