Data binding MVVM轻型绑定异常
我正在Xamarin.iOS应用程序中使用MVVM Light Toolkit的5.3.0版,在共享库中创建到ViewModels的数据绑定。装订的很好Data binding MVVM轻型绑定异常,data-binding,xamarin.ios,mvvm-light,Data Binding,Xamarin.ios,Mvvm Light,我正在Xamarin.iOS应用程序中使用MVVM Light Toolkit的5.3.0版,在共享库中创建到ViewModels的数据绑定。装订的很好 _bindingList.Add( this.SetBinding( () => _sessionViewModel.ActiveSession.Swings.Count, () => _swingCountLabel.Text,
_bindingList.Add(
this.SetBinding(
() => _sessionViewModel.ActiveSession.Swings.Count,
() => _swingCountLabel.Text,
fallbackValue: 0,
targetNullValue: 0)
.ConvertSourceToTarget(c => $"({c.ToString()})"));
秋千是一个可观察的集合。ActiveSession是一个可观察的属性。只要ActiveSession不为null,它就可以工作。当ActiveSession设置为null时,将生成以下异常:
“System.Int32”类型的对象无法转换为“System.String”类型
该错误发生在MVVM Light函数名“SetSpecialValues”中。我下载了源代码,看起来使用回退值的情况是在调用SetValue之前没有使用转换器
以下类似的绑定工作正常(源和目标类型相同)。当ActiveSession为空时,它会正确地显示“----”
是否支持这种类型的绑定,或者我是否做了一些不正确的事情
谢谢我下载了源代码并更改了SetSpecialValues(…),似乎解决了问题。我下载了源代码并更改了SetSpecialValues(…),似乎解决了问题。
_bindingList.Add(
this.SetBinding(
() => _sessionViewModel.ActiveSession.Name,
() => _sessionLabel.Text,
fallbackValue: "-----",
targetNullValue: "-----"));