我已经使用Xamarin Studio创建了一个自定义iOS控件,虽然它在运行时工作正常但是当我打开控件放到它上面的xib时,界面构建器显示它有一个讨厌的错误(下面)。
该项目使用MvvmCross,xib的支持类继承自MvxView - 这就是问题所在。如果我将其更改为标准UIView,控件显示得很好 - 但我失去了我需要的绑定功能。
现在 - 我没想到设计师会对我的控件进行精美的渲染解释,我知道这不会发生。
我想知道的是这个错误是否是使用MvxView的副产品,我只需要忍受它,或者我是否错过了我的实现中的某些内容 - 我猜我没有覆盖某些东西,但可以'弄清楚它是什么。
[编辑:2016年11月18日]
在Github上挖掘MvvmCross代码我找到了问题的原因 - 但我没有更接近修复它。
基本上我的控件的支持类具有标准构造函数(这是我在部分模糊的错误中引用的行):
public ResidentHeaderView(IntPtr handle) : base (handle)
{
}
在堆栈跟踪之后,事实证明代码正在尝试解析BindingContext并失败 - 因为我在这里设计时。 如果我注释掉构造函数并重新构建,那么设计器中的错误就会消失 - 当我访问包含此控件的页面时,应用程序会崩溃,因为需要构造函数。
所以我知道它为什么会发生(并且我的代码中没什么严重的)但是我不知道如何解决它。
非常感谢任何进一步的投入。
提前致谢