private void OnNewPasswordMaskedChanged(Catel.Data.AdvancedPropertyChangedEventArgs args) { var oldValue = args.OldValue as string; var newValue = args.NewValue as string; if (((oldValue ?? string.Empty).Length + 1) == ((newValue ?? string.Empty).Length)) { var change = (newValue ?? string.Empty).Substring((oldValue ?? string.Empty).Length, 1); NewPassword += change; NewPasswordMasked = NewPasswordMasked.Replace(change, "*"); } else if ((oldValue ?? string.Empty).Length > (newValue ?? string.Empty).Length) { NewPassword = NewPassword.Substring(0, (newValue ?? string.Empty).Length); NewPasswordMasked = NewPasswordMasked.Substring(0, (newValue ?? string.Empty).Length); } }