C# Xamarin Android与MVVM Light的数据绑定 原始问题:

C# Xamarin Android与MVVM Light的数据绑定 原始问题:,c#,android,android-fragments,xamarin,mvvm-light,C#,Android,Android Fragments,Xamarin,Mvvm Light,在使用MVVM Light的Xamarin Android中,尝试将ViewModel中的值绑定到TextView时遇到问题。该值更改一次,然后停止工作。即使对象在ViewModel中更改,并且绑定模式设置为默认(单向) 由于业务需要,我需要继续使用MVVM Light和Xamarin Android 示例: 在我的第一个片段中,我有一个绑定到ViewModel中的一个图书列表的图书列表。在我的Viewmodel中,我有一个名为CurrentBook的对象,它随列表中的onclick事件而变化

在使用MVVM Light的Xamarin Android中,尝试将ViewModel中的值绑定到TextView时遇到问题。该值更改一次,然后停止工作。即使对象在ViewModel中更改,并且绑定模式设置为默认(单向)

由于业务需要,我需要继续使用MVVM Light和Xamarin Android

示例:
在我的第一个片段中,我有一个绑定到ViewModel中的一个图书列表的图书列表。在我的Viewmodel中,我有一个名为CurrentBook的对象,它随列表中的onclick事件而变化

VM.CurrentBook = Books[index];
在我的第二个片段中,我将标题绑定到一个TextView

_titleBinding = this.SetBinding(() => VM.CurrentBook.Title, () => TitleTextView.Text);
当前书籍第一次从NULL更改为book的实例时,标题会根据需要更改。第一次更改VM.CurrentBook=Books[index]后标题与选择的第一本书相同


更新: 在米伦·巴甫洛夫的帮助下,我尝试了几件事, 我试着换成

VM.SetBinding(() => VM.CurrentBook.Title, TitleTextView, () => TitleTextView.Text, BindingMode.TwoWay);
这触发了一个错误:

System.Reflection.TargetException: Object of type '[Solution].Client.Shared.ViewModels.BooksViewModel' doesn't match target type '[Solution].Client.Android.BookDetailsFragment'


我试过的另一件事是:

_titleBinding = this.SetBinding(() => VM.CurrentBook.Title, TitleTextView, () => TitleTextView.Text, BindingMode.TwoWay);
enter code here
这引发了另一个错误:

System.Reflection.TargetException: Object of type 'Android.Support.V7.Widget.AppCompatTextView' doesn't match target type '[solution].Client.Android.BookDetailsFragment'

在xamarin android和mvvm上进行数据绑定时,我一直在使用此重载:

VM.SetBinding(() => VM.CurrentBook.Title, TitleTextView, () => TitleTextView.Text, BindingMode.TwoWay); 

希望有帮助。

尝试此操作后,我遇到了以下错误:
System.Reflection.TargetException:Object类型“Android.Support.V7.Widget.AppCompatTextView”与目标类型“Sollution.Android.BookDetailsFragment”不匹配。
您是在
充气机.Inflate(…)
OnCreateView()中调用此函数吗
?即使将绑定放在vm
System.Reflection.TargetException:类型为'sollution.Client.ViewModels.vm'的对象与目标类型'sollution.Android.BookDetailsFragment'不匹配。
是与类型为'code>sollution.Client.ViewModels.vm不同的类型您在
Sollution.Android.BookDetailsFragment
?VM的类型为BookViewModel,继承自ViewModelBase,而Sollution.Android.BookDetailsFragment的类型为BookDetailsFragment,继承自Fragment