Unplanned
Last Updated: 26 May 2023 13:52 by Martin Ivanov

The decimal.MinValue is displayed when e negative value is pasted in RadMaskedCurrencyInput when the maskedInput:MaskedInputExtensions.Minimum attached property is set to 0, and the current Value is null.

To work this around, you can override the HandlePaste method of the masked input control.

public class CustomMaskedCurrencyInput : RadMaskedCurrencyInput
{
	protected override void HandlePaste()
	{
		object clipBoardValue = Clipboard.GetText();
		if (clipboardValue can be parsed to a number and it is a negative number)
		{
			// don't call the base method
		}
		else 
		{
			base.HandlePaste();
		}
	}
}

Unplanned
Last Updated: 01 Apr 2019 07:12 by ADMIN

RadMaskedNumericInput Maximum value setting is not working with hungarian culture settings.

 

Steps to reproduce:

- Open the attached project, fix the references and start the application

- Click button "English"

- Select the first item from the dropdown

- Inputs are changing to 1433.2 and 1810.9 - OK

- Select the 2nd item from the dropdown

- Inputs are changing to 0 and 59 - OK

- Click button "Hungarian"

- Select the first item from the dropdown

- Inputs are changing to 1433.2 and 1433.2 - NOT OK, Why?


Thanks,

Roberto

 

Unplanned
Last Updated: 23 Feb 2018 07:42 by ADMIN
Unplanned
Last Updated: 23 Feb 2018 07:41 by ADMIN
The position of the caret is wrong when after selecting multiple chars then one of Backspace or Delete buttons is clicked.

Example:

Value is 123456 Formated it looks like : 123,456.00

Selected portion is [3,4]. Pressing backspace results in 125 | 6.00 Expected is 12|56.00/ Consider | as the caret position.

The behavior can be observed in Numeric and Currency Inputs.

Possible workaround:
private void RadMaskedNumericInput_PreviewKeyDown(object sender, KeyEventArgs e)
      {
          var selectionstart = this.numericInput.SelectionStart + this.numericInput.SelectionLength;
 
          if (this.numericInput.SelectionLength > 0 && (e.Key == Key.Back || e.Key == Key.Delete))
 
          this.numericInput.ValueChanged += (ss, ee) =>
          {
              this.numericInput.SelectionStart = selectionstart;
          };
      }
Unplanned
Last Updated: 16 Oct 2017 07:17 by ADMIN
Pressing backspace or delete keys produce wrong carret position in numeric input or currency input.

For example Value is 1234 formatted like 1,234.0. Caret is between 2 and 3. Pressing backspace leads to 13|4. Expected is 1|34.
Unplanned
Last Updated: 28 Jul 2017 07:14 by ADMIN
RadMaskedTextInput.

Value is 12345. Select All. Then press "A" (or random key) while down,  press space key and then release it (this happens when you type fast).

Expected: Value is "A ".

Actual Value is "  " (A is removed).


Workaround:



   public class CustomInput : RadMaskedTextInput
    {
       
        protected override void OnKeyDown(KeyEventArgs e)
        {
            if (this.Value != null && this.SelectionLength == this.Value.Length && this.SelectionLength > 0)
            {
                this.ClearCommand.Execute(null);
            }
            base.OnKeyDown(e);
        }        
    }
Unplanned
Last Updated: 15 Jun 2017 12:51 by Dinko
You can subscribe to the PreviewKeyDown event of the control. In the event handler, you can double check if all the text is select and if the delete key is pressed. If yes, you can execute the clear command of the control.

private void TxtPhone_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            var myMask = sender as RadMaskedTextInput;
            if (e.Key == Key.Delete && myMask.Text.Length == myMask.SelectionLength)
            {
                myMask.ClearCommand.Execute(null);
            }
        }
Unplanned
Last Updated: 22 Feb 2017 16:18 by ADMIN
The issue is reproducible with NoMask and UpdateValueEvent=LostFocus. The Clear button clears the whole content while deleting with the Backspace and Delete keys leaves the separator symbols. When the focus is moved outside of the masked input, the symbols are removed.
Unplanned
Last Updated: 27 Dec 2016 12:24 by ADMIN
The workaround is to create a custom class which derives from RadMaskedTextInput and override the OnSelectionOnFocus() method.

 protected override int OnSelectionOnFocus(SelectionOnFocus selectionOnFocus)
        {
            if (MaskedInputExtensions.GetCaretToEndOfTextOnFocus(this))
            {
                return this.Text != null ? this.Text.Length : 0;
            }
            if (selectionOnFocus == SelectionOnFocus.Default)
            {
                return 0;
            }
            return base.OnSelectionOnFocus(selectionOnFocus);
        } 
Then you can set the following properties to the mask:
 -  TextMode="PlainText"
 -  Placeholder=" "
 -  maskedInput:MaskedInputExtensions.CaretToEndOfTextOnFocus="True"
Unplanned
Last Updated: 27 Dec 2016 12:41 by ADMIN
In NoMask scenario the Placeholder should not be a valid property. The issue: if the Placeholder is an underscore (default value) and the user's input underscore this character is not displayed on lost focus.


Workarounds: 

1. Set empty string for Placeholder (Placeholder="")

2. Set TextMode property to MaskedText (TextMode="MaskedText")
Unplanned
Last Updated: 27 Dec 2016 14:04 by ADMIN
When two or more MaskInput controls are focused at the same time, the application freezes.

Workaround:

Instead of 

  txtMask1.Focus();
  txtMask2.Focus();

Use

  txtMask1.Focus();
                Dispatcher.BeginInvoke(new Action(() =>
                    {
                        txtMask2.Focus();
                    }), DispatcherPriority.Loaded);
Unplanned
Last Updated: 27 Dec 2016 11:48 by ADMIN
The Value property of the TextInput is not correctly updated when using the On-Screen Touch keyboard when using no mask (Mask=""). We managed to reproduce the issue on Windows 8.1, 10. The behavior is different in both Windows OS. To get the Touch Keyboard you can check the following link.

Windows OS  8.1 - When you enter text and pressed backspace key- the value property is not updated the first time.

Windows OS 10 - When you enter text and pressed backspace key the value property is updated correctly. But if you HOLD THE BACKSPACE KEY the Value property ignored this behavior.
Unplanned
Last Updated: 08 Nov 2016 17:02 by ADMIN
Unplanned
Last Updated: 28 Dec 2016 13:57 by ADMIN
The Mask property of the RadMaskedDateTimeInput cannot be set or changed via binding. Internally it is always set to "d".
Unplanned
Last Updated: 14 Feb 2018 13:50 by ADMIN
ADMIN
Created by: Pavel R. Pavlov
Comments: 0
Category: MaskedInput
Type: Bug Report
2
If there is a whitespace in the Mask of the control and you try to paste a value containing whitespace, the control will trim the user input.

Example:

Mask="(###) ###-####

User Input: 1234567890

The MaskedText should be: (123) 456-7890

If you copy this input and try to paste it into a control with the same Mask you will get (123) 45-6789 which is not correct.

Possible workarounds !!!

1. In a scenario when the user will enter only digits in the MaskedTextInput for a phone number is to restrict the input by setting the following mask.

<telerik:RadMaskedTextInput EmptyContent="Enter digits" Mask="(d3) d3-d4" />

2. The second workaround is to use non breaking space in Mask, this way there won't be a match between space by the user and space in the mask symbols.
Unplanned
Last Updated: 27 Dec 2016 13:44 by ADMIN
Mask is "a-a". Value is set to "M-M".

The MaskedTextInput control must internally coerce the Value to "MM".
Instead , MaskedTextInput'Value is "M-" which is wrong.

Other example of the same issue:
Bound Value is bbaabbaabbdd, Mask is "aa-aa-aa-aa-aa-aa"
The result is - value becomes bbbbbbddaaaa.

Workaround:
Use custom Mask Token (check help article: http://docs.telerik.com/devtools/wpf/controls/radmaskedinput/how-to/howto-create-custom-token.html)

 public class CustomToken : ITokenValidationRule
    {
        public bool IsRequired
        {
            get { return false; }
        }

        public bool IsValid(char ch)
        {
            return ValidChars.Contains(ch.ToString());
        }

        public char Token
        {
            get { return '$'; }
        }

        public TokenTypes Type
        {
            get { return TokenTypes.AlphaNumeric; }
        }

        private string myValidChars = "0123456789qwertyuioplkjhgfdsazxcvbnm";
        public string ValidChars
        {
            get { return myValidChars; }
        }
    }

    TokenLocator.AddCustomValidationRule(new CustomToken());
            InitializeComponent();

   <telerik:RadMaskedTextInput Mask="$-$"  
Unplanned
Last Updated: 08 Dec 2016 09:41 by ADMIN
In MaskedTextInput the ClearButton will make the Value "" but it should make it NULL. All other InputControls have null value after pressing ClearButton.

No-masked TextInput works fine - the ClearButton makes the Value Null.

As a workaround, you can use the ClearCommand, bind it to Command from your ViewModel and the execute handler can set the bound Value to null.
1 2