Setting the Extnesions Minimum and Maximum values restricts the input of values that fall in the designated area but that start with a digit lesser than the minimum value. For example in the MaskedNumeric/CurrencyInput, if you set MaskedInputExtensions.Minimum="2" and MaskedInputExtensions.Maximum="20", you can't enter 12 unless the current value is 2 and the cursor is positioned before the 2 - only then you can insert the digit 1 before the digit 2 to create an input of 12.
In order to reproduce, you need to focus the control when you run the application. 1.When you press the backspace key it removes the last character and after pressing it a second time the character will be replaced with the removed character. 2. When paste(Ctrl+V) a text in the control, the text is ignoring the current position of the caret and position at the beginning of the control.
When using implicit styles mechanism and you merge Telerik.Windows.Controls.Input an exception is thrown. If the XAML file is set with BUILD ACTION PAGE the issue is not reproducible. Another workaround is to reference dlls only, not xaml theme files. Issue is reported in several msdn / stackoverflow threads and it appears to be an MS-TextBox one. http://stackoverflow.com/questions/6850713/weird-xaml-parsing-error-when-trying-to-set-textbox-isreadonly
When the Value of the RadMaskedInput (all RadMaskedInput controls) is changed in code behind, the ValueChanged event isn't fired.
InputLanguageManager does not work in MaskedInputControls ==== Reason for deletion: The bug is logged for RadMaskedTextBox and it will be removed from our suite from Q2 2014.
The MaskedTextInput Value is bound to a property whose value is modified in its setter. In this case the Value of the control isn't updated to the modified value of the business property. Also if Binding Converter changes the Value, it is not updated too. Other maskedInput controls - Numeric, Currency work in such scenarios.
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
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.
NumericInput or CurrencyInput with value 555666.00.
Select the part '666' press 7. This results is
55|57.00 (caret should be after 7 but is actually shifted to wrong position)
This is reproducible with RadMaskedNumericInput and RadMaskedCurrencyInput, when the Mask property is empty.
UpdateValueEvent is LostFocus. FormtString is non default - for example n2 or c2.
When all text is selected and delete key is pressed, the Text will become "$,." or "-." or "($)" - non digit symbols remain in text.
Expected: Text becomes empty string "".
The display text (the text displayed when the controls is not focused) doesn't match the FormatString on startup of RadMaskedNumericInput. This happens if the FormatString is "00" and the initial value is set to 0. In this case, the initially displayed text is "0", instead of the expected "00". When you focus the masked input control and then lost the focus, the correct display text is shown.
To workaround this, you can override the CoerceDisplayTextOverride method of RadMaskedNumericInput and replace the returned value in case it is "0".
public class CustomMaskedNumericInput : RadMaskedNumericInput
{
protected override string CoerceDisplayTextOverride()
{
var txt = base.CoerceDisplayTextOverride();
if (txt == "\00")
{
txt = "00";
}
return txt;
}
}
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; } }
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