我有自定义UITextView:
public partial class EditableDescriptionTextView : UITextView, IUITextViewDelegate
{
ctors()...//Invokes Initialize();
void Initialize()
{
Delegate = this;
}
//Override methods I need to handle
}
在我的视图中,我有一个与ViewModel的绑定,如下所示:
bindingSet.Bind(EditableDescriptionTextView)
.To(vm => vm.Description);
问题是首先使用字符串:Delegate = this
。好的,但是当工作bindingSet.Bind(...).To(...)
似乎委托更改和应用程序崩溃时会出现异常,例如:
Event registration is overwriting existing delegate. Either just use events or your own delegate
当我直接尝试在绑定后分配委托时会发生同样的错误:
// CustomDelegate extends UIViewTextDelegate
EditableDescriptionTextView.Delegate = new CustomDelegate();
换句话说,每次重新分配代表时app都会失败。是否有可能将我自己的代表与MvvmCross一起使用,或者这种情况的最佳解决方法是什么?
P.S。:最初我需要像这里一样实现功能 ShouldChangeTextInRange is not called for UITextView,但我还需要mvvxcross binding。
答案 0 :(得分:0)
这看起来不像MvvmCross问题。 MvvmCross不会将任何委托附加到UITextFields。但是,由于您正在实现自己的Delegate,MvvmCross用于侦听TwoWay绑定的此类视图中的更改的事件处理程序,在您附加自定义委托后可能无法工作。
所以我只想坚持UITextField为您提供的事件。