示例#1
0
        protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
        {
            base.OnElementChanged(e);
            if (e.OldElement == null)     // perform initial setup
            // lets get a reference to the native control
            {
                var grid = Control as global::System.Windows.Controls.Grid;

                LimitedEntry numericEntry = e.NewElement as LimitedEntry;
                if (numericEntry.MaxLength > 0)
                {
                    foreach (var element in grid.Children)
                    {
                        var textBox     = element as System.Windows.Controls.TextBox;
                        var passwordBox = element as System.Windows.Controls.PasswordBox;

                        if (textBox != default(System.Windows.Controls.TextBox))
                        {
                            textBox.MaxLength = numericEntry.MaxLength;
                        }
                        if (passwordBox != default(System.Windows.Controls.PasswordBox))
                        {
                            passwordBox.MaxLength = numericEntry.MaxLength;
                        }
                    }
                }
            }
        }
 protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
 {
     base.OnElementChanged(e);
     if (e.OldElement == null)     // perform initial setup
     // lets get a reference to the native control
     {
         var          nativeEditText = (global::Android.Widget.EditText)Control;
         LimitedEntry numericEntry   = e.NewElement as LimitedEntry;
         if (numericEntry.MaxLength > 0)
         {
             nativeEditText.SetFilters(new global::Android.Text.IInputFilter[] { new global::Android.Text.InputFilterLengthFilter(numericEntry.MaxLength) });
         }
     }
 }
示例#3
0
 protected override void OnElementChanged(ElementChangedEventArgs <Entry> e)
 {
     base.OnElementChanged(e);
     if (e.OldElement == null)
     {   // perform initial setup
         // lets get a reference to the native control
         var          nativeEditor = (UITextField)Control;
         LimitedEntry numericEntry = e.NewElement as LimitedEntry;
         if (numericEntry.MaxLength > 0)
         {
             nativeEditor.ShouldChangeCharacters = (textField, range, replacementString) =>
             {
                 var newLength = textField.Text.Length + replacementString.Length - range.Length;
                 return(newLength <= numericEntry.MaxLength);
             };
         }
     }
 }