MVVMCross Привязка десятичной к UITextField удаляет десятичную точку
Привязка десятичного числа к UITextField не позволяет поставить «.» в, как вы печатаете "1.»толчок к источнику удаляет его. Я понимаю, почему это происходит, MakeSafeValue преобразует его в десятичное число, которое читается обратно без ".", переписав введенный текст. Это похоже на проблему keyup vs onblur, которая позволяет переопределить множество платформ связывания.
Я знаю, что вместо этого могу связать строку с моделью представления, но обработка EditingDidEnd вместо EditingChanged кажется лучше. Таким образом, я мог перехватить ShouldEndEditing, чтобы проверить правильность.
Где я могу зарегистрировать свою привязку, чтобы переопределить реализацию MvvmCross? Я попытался добавить в мой Setup.FillTargetFactories, но он вызывается до MVXTouchBindingBuilder.FillTargetFactories, где MvvmCross один.
Я пробовал другое имя свойства, в FillTargetFactories у меня есть:
registry.RegisterPropertyInfoBindingFactory(typeof (UITextFieldTextDidEndTargetBinding), typeof (UITextField), "DidEndText");
но это не работает, когда я связываю.
set.Bind(textField).For("DidEndText").To(vm => vm.GMoney);
Похоже, MvxPropertyInfoTargetBindingFactory.CreateBinding не работает, если у цели нет этого свойства = имеет смысл. Остаётся ли мне начать с MvxTargetBinding и создать собственную привязку? Я ненавижу воссоздавать большую часть кода в MvxPropertyInfoTargetBinding.
Итак, я думаю, что вопрос (ы) являются ...
Каков синтаксис / местоположение, чтобы переопределить связывание UITextField по умолчанию с моим?Как я могу указать другую привязку для текста с синтаксисом привязки?Заранее спасибо.