void OnEnded(object sender, EventArgs eventArgs) { if (TextView.Text != Element.Text) { ElementController.SetValueFromRenderer(Editor.TextProperty, TextView.Text); } Element.SetValue(VisualElement.IsFocusedPropertyKey, false); ElementController.SendCompleted(); }
protected override void OnElementChanged(ElementChangedEventArgs <Editor> e) { base.OnElementChanged(e); if (e.NewElement == null) { return; } if (Control == null) { SetNativeControl(CreateNativeControl()); if (DeviceInfo.Idiom == DeviceIdiom.Phone) { // iPhone does not have a dismiss keyboard button var keyboardWidth = UIScreen.MainScreen.Bounds.Width; var accessoryView = new UIToolbar(new CGRect(0, 0, keyboardWidth, 44)) { BarStyle = UIBarStyle.Default, Translucent = true }; var spacer = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace); var doneButton = new UIBarButtonItem(UIBarButtonSystemItem.Done, (o, a) => { TextView.ResignFirstResponder(); ElementController.SendCompleted(); }); accessoryView.SetItems(new[] { spacer, doneButton }, false); TextView.InputAccessoryView = accessoryView; } TextView.Changed += HandleChanged; TextView.Started += OnStarted; TextView.Ended += OnEnded; TextView.ShouldChangeText += ShouldChangeText; _pleaseDontCollectMeGarbageCollector = TextView.Delegate; } UpdateFont(); UpdatePlaceholderText(); UpdatePlaceholderColor(); UpdateTextColor(); UpdateText(); UpdateCharacterSpacing(); UpdateKeyboard(); UpdateEditable(); UpdateTextAlignment(); UpdateMaxLength(); UpdateAutoSizeOption(); UpdateReadOnly(); UpdateUserInteraction(); }