The SpinMode property is set to Position and the Mask is like "d" or "#". The "d" means that a digit pattern is required , "#" is for non-required digit. When the caret is on the empty placeholder and the Key.Up Arrow is pressed, non-numeric characters appear first ("! " then """ then "#" etc). The expected behavior is that only digits are looped in such mask *digit* positions.
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.
Office 2016 Theme MaskedInputControl. IsReadOnly="True" IsClearButtonVisible="False" Space for clear button is reserved which is unexpected. Button should be hidden and no space should be reserved like in, for example Office_Black Theme.
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); } }
When we use context menu of the control to paste text and the mask is not focused an ArgumentOutOfRangeException is thrown.
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); } }
MaskedInput's Value is bound to property of an Entity class. This property has EditableAttribute. MaskedInput's will set IsReadOnly True if the EditableAttribute's AllowEdit is False. Clients need mechanism to stop this validation in MaskedInput.
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.
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"
If a user has selected all text in a numeric masked input control with a decimal (eg. 12.34), if they start typing a new value with a period (eg user types .89), the integer potion of the decimal does not change (so the input control now displays 12.89 instead of 0.89). Please provide a way to clear out what's to the left of the decimal when users type the period, as this is much more inline with the expected behavior of pretty much any other input control. The user has selected all the text and started typing. There's no excuse for not clearing out all the text in the input control in this scenario. Our clients are rightfully frustrated with this behavior.
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")
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);
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.
Mask is like "##--##". Current Value is "1234" and you see "12--34" Caret is between 2 and "-". Pressing 3 wiill not move the caret after the digit 3. InputBehavior is set to "Replace"
A possible workaround is to subscribe to the PreviewKeyDown event of the mask then check if the back key is pressed and the whole text is select and set the value to null in order to erase the text of the mask. private void maskTextInput_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Back && this.maskTextInput.SelectionLength == this.maskTextInput.Text.Length) { this.maskTextInput.Value = null; } }
It would be really useful to be able to specify a maximum number of significant figures for Telerik RadMaskedNumericInput as this was requested by a client.
Possible workaround: You can subscribe to the PreviewTextInput event of the control and change the position of the caret if the typed char is the same as the current one. private void RadMaskedTextInput_PreviewTextInput(object sender, TextCompositionEventArgs e) { var input = sender as RadMaskedTextInput; var currentPosition = input.SelectionStart; if (currentPosition != input.Text.Length) { var currentChar = input.Text[currentPosition]; if (currentChar != input.Placeholder && currentChar.ToString() == e.Text) { input.SelectionStart++; } } } Available in R3 2016 Release
You have the following scenario. The UpdateValueEvent property is set to "LostFocus" and set no mask ( Mask= ""). When the input box is focused, press the minus sign key. You can see the that the minus is showing as expected. Then press a number and the "-" (minus) disappear. By pressing number key again the minus appears again. A workaround: Setting the UpdateValueEvent property to PropertyChanged Available in R2 2016 SP