private void SetFocus(ControlState state) { if (!IsFocused) { return; } switch (state) { case ControlState.Initial: case ControlState.NumberInput: CardNumberInputTextBox.SelectionStart = CardNumberInputTextBox.Text.Length; CardNumberInputTextBox.Focus(FocusState.Programmatic); break; case ControlState.DateInput: DateTextBox.SelectionStart = DateTextBox.Text.Length; DateTextBox.Focus(FocusState.Programmatic); break; case ControlState.SecurityCodeInput: SecurityCodePasswordBox.Focus(FocusState.Programmatic); break; } }
private Task CollapseNumberInputField() { var textLength = CardNumberInputTextBox.Text.Length; var rectFromCharacterIndex = CardNumberInputTextBox.GetRectFromCharacterIndex(textLength - 5, true); var numberInputFieldOffset = -rectFromCharacterIndex.X; NumberInputSlideTimeline.To = numberInputFieldOffset; var numberFieldAnimation = NumberInputSlideStoryboard.BeginAsync(); var dataFieldAnimation = DataInputSlideStoryboard.BeginAsync(); return(Task.WhenAll(numberFieldAnimation, dataFieldAnimation)); }