/// <summary>
        /// Get locker folder from FutureAccessList and set some pages values.
        /// </summary>
        /// <returns></returns>
        private async Task GetLockerFolder()
        {
            try
            {
                // Uncomment following line to delete FutureAccessList to test the fail code below.
                // StorageApplicationPermissions.FutureAccessList.Clear();

                // Before navigating to this page it was confirmed that file 'mainPage.stringFilenameFirstRunCompleted' does exist.
                // Therefore user has set up a folder to use for his/her locker and it has been saved to FutureAccessList.
                // Now retrieve folder from FutureAccessList so this app will have Read/Write access to all contents 'inside'User's
                // selected folder.  Note!!! If User manually renames or moves file outside of this App this will still return the file!
                if (StorageApplicationPermissions.FutureAccessList.ContainsItem(mainPage.stringTokenLocker))
                {
                    mainPage.storageFolderLocker = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(mainPage.stringTokenLocker);

                    if (mainPage.storageFolderLocker != null)
                    {
                        mainPage.stringLockerPath = mainPage.storageFolderLocker.Path;  // Initialize.
                        List <string> list_stringMessagePage = new List <string>()
                        {
                            mainPage.resourceLoader.GetString("EP_Success_PageLoad_Msg01"),  // Found locker folder at
                            mainPage.stringLockerPath,
                            mainPage.resourceLoader.GetString("EP_Success_PageLoad_Msg02")   // Application has read and write access to folder.
                        };
                        LibMPC.OutputMsgSuccess(TblkResult, LibMPC.JoinListString(list_stringMessagePage, EnumStringSeparator.OneNewline));
                        PwBoxPw.Focus(FocusState.Programmatic);
                        return;     // Success so return.
                    }
                }
                // Should never get here but if do, then Continue button click will force a Locker Reset. Never exit App as per MS guidelines.
                // Uncomment line mentioned above to test this failure path!
                boolAppResetRequired = true;
                LibMPC.OutputMsgError(TblkPageMsg, LibMPC.JoinListString(Translate.TRS_EP_Error_PageLoad_Msg01, EnumStringSeparator.TwoSpaces));  // Do not assemble string until needed to save memory.
                PwBoxPw.Visibility            = Visibility.Collapsed;
                TblkLockerResetMsg.Visibility = Visibility.Collapsed;
                ButLockerReset.Visibility     = Visibility.Collapsed; // Hide this so User is forced to click Continue to force a Locker Reset.
                // ButEPContinue click will now run mainPage.ResetLockerAsync() to reset locker.  Never exit App as per MS guidelines.
            }
            catch (System.IO.FileNotFoundException)     // Handle exception.
            {
                // Exception will be thrown if Locker folder no longer exist. To test this failure path, delete locker or save locker on USB stick. Then exit, remove stick, and run again.
                boolAppResetRequired = true;
                LibMPC.OutputMsgError(TblkPageMsg, LibMPC.JoinListString(Translate.TRS_EP_Error_PageLoad_Msg02, EnumStringSeparator.TwoSpaces));  // Do not assemble string until needed to save memory.
                PwBoxPw.Visibility            = Visibility.Collapsed;
                TblkLockerResetMsg.Visibility = Visibility.Collapsed;
                ButLockerReset.Visibility     = Visibility.Collapsed;   // Hide this so User is forced to click Continue to start Locker Reset.
                // ButEPContinue click will now run mainPage.ResetLockerAsync() to reset locker. Never just exit App as per MS guidelines.
            }
            catch (Exception ex)    // Catch any other exception.
            {
                LibMPC.OutputMsgError(TblkResult, mainPage.UnhandledExceptionMessage("EnterPassword.Page_Loaded()", ex.GetType()));
            }
        }
 /// <summary>
 /// Invalid password was entered so reset values and App display.  Also skip one pass of code in
 /// PwBoxEPPw_PasswordChanged() event so user can see error message that last password was not valid.
 /// </summary>
 /// <param name="stringErrorMessage">Error message to show user after display is reset.</param>
 private void ErrorOccurred(string stringErrorMessage)
 {
     PwBoxPw.Password = string.Empty;
     LibMPC.OutputMsgError(TblkResult, stringErrorMessage);
     PwBoxPw.Focus(FocusState.Programmatic);
 }