コード例 #1
0
        protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            base.OnFocusChangeRequested(sender, e);

            if (e.Focus)
            {
                if (Clickable)
                {
                    CallOnClick();
                }
                else
                {
                    ((IPickerRenderer)this)?.OnClick();
                }
            }
            else if (_dialog != null)
            {
                _dialog.Hide();
                ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);

                if (Forms.IsLollipopOrNewer)
                {
                    _dialog.CancelEvent -= OnCancelButtonClicked;
                }

                _dialog = null;
            }
        }
コード例 #2
0
 void SearchHandlerFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
 {
     if (e.Focus)
     {
         e.Result = _uiSearchBar.BecomeFirstResponder();
     }
 }
コード例 #3
0
        protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            e.Result = true;

            if (e.Focus)
            {
                // use post being BeginInvokeOnMainThread will not delay on android
                Looper looper  = Context.MainLooper;
                var    handler = new Handler(looper);
                handler.Post(() =>
                {
                    _textInputEditText.RequestFocus();
                });
            }
            else
            {
                _textInputEditText.ClearFocus();
            }

            if (e.Focus)
            {
                this.ShowKeyboard();
            }
            else
            {
                this.HideKeyboard();
            }
        }
コード例 #4
0
 protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
 {
     base.OnFocusChangeRequested(sender, e);
     if (e.Focus)
     {
         ShowDatePicker();
     }
 }
コード例 #5
0
ファイル: EntryRenderer.cs プロジェクト: KevinGliewe/Goui
 void Element_FocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
 {
     if (e.Focus && Control != null)
     {
         Control?.Focus();
         e.Result = true;
     }
 }
コード例 #6
0
 internal override void OnModelFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
 {
     //if (args.Focus)
     //	args.Result = Control.Focus();
     //else
     //{
     //	UnfocusControl(Control);
     //	args.Result = true;
     //}
 }
コード例 #7
0
ファイル: ShellSearchView.cs プロジェクト: sung-su/maui
        void OnFocusChangedRequested(object?sender, VisualElement.FocusRequestArgs e)
        {
            if (Control == null)
            {
                return;
            }

            Control.SetFocus(e.Focus);
            e.Result = true;
        }
コード例 #8
0
        protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            if (!e.Focus)
            {
                base.OnFocusChangeRequested(sender, e);
                return;
            }

            TakeFocus();
        }
コード例 #9
0
 internal override void OnModelFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
 {
     if (args.Focus)
     {
         args.Result = Control.Focus();
     }
     else
     {
         UnfocusControl(Control);
         args.Result = true;
     }
 }
コード例 #10
0
        protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            e.Result = true;

            if (e.Focus)
            {
                this.Control.RequestFocus();
            }
            else
            {
                this.Control.ClearFocus();
            }
        }
コード例 #11
0
        void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            Widget widget = NativeView as Widget;

            if (widget == null)
            {
                Log.Warn("{0} is not a widget, it cannot receive focus", NativeView);
                return;
            }

            widget.SetFocus(e.Focus);
            e.Result = true;
        }
コード例 #12
0
ファイル: PickerRenderer.cs プロジェクト: MIliev11/Samples
        internal override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            base.OnFocusChangeRequested(sender, e);

            if (e.Focus)
                CallOnClick();
            else if (_dialog != null)
            {
                _dialog.Hide();
                ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
                _dialog = null;
            }
        }
コード例 #13
0
 private void OnFocusRequest(object sender, VisualElement.FocusRequestArgs e)
 {
     Debug.WriteLine($"Focus requesrt: {e.Focus}");
     if (e.Focus && focusable.FocusState != FocusState.Unfocused ||
         !e.Focus && focusable.FocusState == FocusState.Unfocused)
     {
         e.Result = true;
     }
     else
     {
         e.Result = focusable.Focus(e.Focus ? FocusState.Programmatic : FocusState.Unfocused);
     }
 }
コード例 #14
0
        internal virtual void OnModelFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            if (_AControl == null)
            {
                return;
            }

            //if (args.Focus)
            //	args.Result = _AControl.Focus();
            //else
            //{
            //	UnfocusControl(_AControl);
            //	args.Result = true;
            //}
        }
コード例 #15
0
        protected virtual void SearchHandlerFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            e.Result = true;

            if (e.Focus)
            {
                _control?.RequestFocus();
                _control?.PostShowKeyboard();
            }
            else
            {
                _control.ClearFocus();
                _control.HideKeyboard();
            }
        }
コード例 #16
0
        protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            base.OnFocusChangeRequested(sender, e);

            if (e.Focus)
            {
                CallOnClick();
            }
            else if (_dialog != null)
            {
                _dialog.Hide();
                ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
                Control.ClearFocus();
                _dialog = null;
            }
        }
コード例 #17
0
 internal virtual void OnElementFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
 {
     /*
      *          var control = Control as Control;
      *          if (control == null)
      *                  return;
      *
      *          if (args.Focus)
      *                  args.Result = control.Focus(FocusState.Programmatic);
      *          else
      *          {
      *                  UnfocusControl(control);
      *                  args.Result = true;
      *          }
      */
 }
コード例 #18
0
        internal override void OnElementFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            base.OnElementFocusChangeRequested(sender, args);

            // Show a picker fly out on focus to match iOS and Android behavior
            var flyout = new DatePickerFlyout {
                Placement = FlyoutPlacementMode.Bottom, Date = Control.Date
            };

            flyout.DatePicked += (p, e) => Control.Date = p.Date;
            if (!Element.IsVisible)
            {
                flyout.Placement = FlyoutPlacementMode.Full;
            }
            flyout.ShowAt(Control);
        }
コード例 #19
0
        internal override void OnModelFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            if (Control == null)
            {
                return;
            }

            if (args.Focus)
            {
                args.Result = OpenPickerPage();
            }
            else
            {
                args.Result = ClosePickerPage();
                UnfocusControl(_listPicker);
            }
        }
コード例 #20
0
        internal virtual void OnElementFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            if (_control == null)
            {
                return;
            }

            if (args.Focus)
            {
                args.Result = _control.Focus(FocusState.Programmatic);
            }
            else
            {
                UnfocusControl(_control);
                args.Result = true;
            }
        }
コード例 #21
0
        internal virtual void OnModelFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            if (Control == null)
            {
                return;
            }

            if (args.Focus)
            {
                args.Result = Control.Focus();
            }
            else
            {
                UnfocusControl(Control);
                args.Result = true;
            }
        }
コード例 #22
0
ファイル: EditorRenderer.cs プロジェクト: syedbilalali/maui
        protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            if (!e.Focus)
            {
                EditText.HideKeyboard();
            }

            base.OnFocusChangeRequested(sender, e);

            if (e.Focus)
            {
                // Post this to the main looper queue so it doesn't happen until the other focus stuff has resolved
                // Otherwise, ShowKeyboard will be called before this control is truly focused, and we will potentially
                // be displaying the wrong keyboard
                EditText?.PostShowKeyboard();
            }
        }
コード例 #23
0
        internal override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            base.OnFocusChangeRequested(sender, e);

            if (e.Focus)
            {
                OnTextFieldClicked();
            }
            else if (_dialog != null)
            {
                _dialog.Hide();
                ((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
                Control.ClearFocus();
                _dialog.CancelEvent -= OnCancelButtonClicked;
                _dialog              = null;
            }
        }
コード例 #24
0
ファイル: DatePickerRenderer.cs プロジェクト: zmtzawqlp/maui
        internal override void OnElementFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            if (Control == null)
            {
                return;
            }

            if (args.Focus)
            {
                args.Result = OpenPicker();
            }
            else
            {
                args.Result = ClosePicker();
            }

            base.OnElementFocusChangeRequested(sender, args);
        }
コード例 #25
0
        internal override void OnModelFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            Xceed.Wpf.Toolkit.TimePicker control = Control;
            if (control == null)
            {
                return;
            }

            if (args.Focus)
            {
                typeof(DateTimePickerBase).InvokeMember("OpenPickerPage", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, Type.DefaultBinder, control, null);
                args.Result = true;
            }
            else
            {
                UnfocusControl(control);
                args.Result = true;
            }
        }
コード例 #26
0
        internal virtual void OnElementFocusChangeRequested(object sender, VisualElement.FocusRequestArgs args)
        {
            var control = Control as Control;

            if (control == null)
            {
                return;
            }

            if (args.Focus)
            {
                args.Result = control.IsFocus = true;
            }
            else
            {
                control.IsFocus = false;
                args.Result     = true;
            }
        }
コード例 #27
0
        protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
        {
            base.OnFocusChangeRequested(sender, e);

            if (e.Focus)
            {
                if (Clickable)
                {
                    CallOnClick();
                }
                else
                {
                    ((IPickerRenderer)this)?.OnClick();
                }
            }
            else if (_dialog != null)
            {
                _dialog.Hide();
                ElementController.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
                _dialog = null;
            }
        }
コード例 #28
0
 private void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
 {
     e.Result = Control?.RequestFocus() ?? false;
 }
コード例 #29
0
 void OnFocusChangedRequested(object sender, VisualElement.FocusRequestArgs e)
 {
     Control.SetFocus(e.Focus);
     e.Result = true;
 }