private void BtnSaveNewUnlock_Click(object sender, RoutedEventArgs e) { if (appvm != null) { if (tbNewUnlockPassword.SecurePassword.Length == 0) { tbUnlockTip.Foreground = tbSetUnlock.Foreground; tbUnlockTip.Text = "* new master password is empty"; } var result = appvm.ChangeUnlock(tbUnlockPassword.SecurePassword, tbNewUnlockPassword.SecurePassword, swNewScope.IsChecked ? DataProtectionScope.CurrentUser : DataProtectionScope.LocalMachine); if (result) { if (!appvm.IsUnlocked) { tbUnlockTip.Foreground = tbUnlock.Foreground; tbUnlockTip.Text = "* incorrect old master password or new master password, try again"; } else { appvm.InvokeUnlocked(); } } else { Close(); } } }