Approved
Last Updated: 23 Feb 2018 07:41 by ADMIN
ADMIN
Petar Mladenov
Created on: 18 Dec 2017 12:22
Category: MaskedInput
Type: Bug Report
0
MaskedInput: Caret goes right unexpectedly when Backspace or Delete buttons are clicked and part of the Value is selected
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;
          };
      }
0 comments