在我ViewControllers之一,结合我有这样的代码:代码执行在模拟器,但不是在设备
BindingSet.Bind(DateSelectBarItem)
.For(v => v.TintColor)
.To(vm => vm.HasDatesSelected)
.WithConversion(new DateFilterButtonStateToTintColourConverter());
凡DateSelectBarItem
是UIBarButtonItem
。
这是转换器的代码:
public class DateFilterButtonStateToTintColourConverter : MvxValueConverter<bool, UIColor>
{
protected override UIColor Convert(bool value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value ? ColourPalette.Orange : ColourPalette.Blue;
}
}
现在奇怪的是,当我在模拟器上运行此,我可以看到绑定工作,该HasDateSelected
属性进行访问和Convert
方法为转换器运行。
但是,然后我部署到设备,它根本不工作。实际上,当我调试设备时,代码甚至没有执行,也没有发现中断点。
可能是一个链接问题。确保你的代码没有通过添加额外的东西链接到LinkerPleaseInclude.cs – Cheesebaron
@ Cheesebaron谢谢你,正是这样,这实际上解决了我遇到的另一个问题。请你可以添加它作为答案,以便我可以接受。 –