Approved
Last Updated: 06 Feb 2018 15:41 by Shelly
For example, if you have a Mask="f", this allows you to enter long-date and short-time. The allowed value should look like this: "Sunday, December 30, 2018 12:00 PM". In other words the seconds and milliseconds are not available to enter and they should be 0. However, if you previously enter a value that contains seconds or milliseconds different than 0, they are cached in the internal LastKnowValidValue property and used when you enter a new value. So, the new value will re-use the seconds and milliseconds from the previous one.
Approved
Last Updated: 08 Dec 2016 09:52 by ADMIN
The key combination Ctrl+C replaces the selected text with a special symbol. This is reproducible only if the Ctrl+C opens the Silverlight dialog that asks you if you want to allow cliboard operations. Also, the Mask should be set to an empty string.

Workaround:
Subscribe for the ValueChanging event of the masked input control and if the new value equals one of the special characters from the ASCII table (you can get the character using the following syntax '(char)3' ) then handle the event.

void maskedInput_ValueChanging(object sender, RadMaskedInputValueChangingEventArgs e)
       {
           if (e.NewValue != null && ((string)e.NewValue).Length == 1 && ((string)e.NewValue)[0] == (char)3)
           {
               e.Handled = true;
           }
       }
Approved
Last Updated: 27 Dec 2016 14:10 by ADMIN
The Delete button doesn't delete the value when the caret is positioned just before a NumberGroupSeparator. This is reproducible only in a no mask scenario with the FormatString property set to a value that allows displaying of the numeric group separators. The controls where the issue appears are RadMaskedNumericInput and RadMaskedCurrencyInput.

Workaround:
Subscribe for the PreviewKeyDown event of the masked input control and if the Delete key is pressed, manually update the value. Here is an example:

void input_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Delete)
    {
        var startIndex = this.input.SelectionStart;
        char character = this.input.Text[startIndex];
        char numbersGroupSeparator = ',';
         
        if (character == numbersGroupSeparator)
        {
            startIndex += 1;
 
            var text = this.input.Text;
            text = text.Remove(startIndex, 1);
 
            var newValue = this.ExractValueFromText(text);
            this.input.Value = double.Parse(newValue);
             
            e.Handled = true;
        }
    }
}
 
private string ExractValueFromText(string text)
{
    string[] splittedText = text.Split(new char[2] { ',', '$' });
    return String.Join("", splittedText);
}
Where the this.input is an instance of a RadMaskedCurrencyInput control defined in XAML. Also, keep in mind that  the Handled property of the event arguments is set to True. Otherwise, the default deletion logic will be triggered and the solution won't work correctly.
Approved
Last Updated: 28 Dec 2016 13:52 by ADMIN
When you hit the Enter key and a number simultaneously the number is removed from the Value of the RadMaskedNumericInput

Workaround:
Handle the KeyDown event of the RadMaskedNumericInput control, when the Enter key is pressed.

private void INPUT_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        if (INPUT.Value.ToString().Length > 0)
        {
            RadWindow.Alert(INPUT.Value.ToString());
        }
        e.Handled = true;
    }
}
Approved
Last Updated: 25 Nov 2016 16:25 by ADMIN
When the MaskedInput controls are wrapped in a ScrollViewer and the validation tooltip of one of the controls is displayed, it doesn't close while scrolling with the scroll bars.