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();
}
}
}
Provide a way to set .5 and display it like 0.5 , not 5.0 in No-Mask Numeric input.
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
Support entering a single digit in a DateTimeMaskedInput control with Mask="MM"
Currently the MaskedInput controls cannot handle properly Chinese input symbols from Google Pinyin or MS IME. MaskedInput's code relies on methods from TextBox which do not fire when the input is not from keyboard.
The method should be called after the text that should be copied to the clipboard is extracted. In its original implementation it should only set the text to the clipboard. You should be able to override it and replace the text or use different method for copying into the clipboard. For example: public class CustomMaskedInputControl : RadMaskedDateTimeInput { protected override void SaveTextToClipboard(string text) { Clipboard.SetDataObject(text); } }
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; }; }
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.
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.
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); } }
Having a Value of type 550.123, then selecting "55" and changing it to 7 produces 7.123 instead of 70.123. Possible workaround is using no-mask (Mask="") and FormatString.
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.