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 по умолчанию с моим?Как я могу указать другую привязку для текста с синтаксисом привязки?

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос