private void OnOldPasswordMaskedChanged(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); OldPassword += change; OldPasswordMasked = OldPasswordMasked.Replace(change, "*"); } else if ((oldValue ?? string.Empty).Length > (newValue ?? string.Empty).Length) { OldPassword = OldPassword.Substring(0, (newValue ?? string.Empty).Length); OldPasswordMasked = OldPasswordMasked.Substring(0, (newValue ?? string.Empty).Length); } }