/// <summary>
        /// Perform special actions when the page is to be committed.
        /// </summary>
        /// <remarks>
        /// Save the current state of the settings.
        /// </remarks>
        /// <returns>A Task that represents CommitAsync</returns>
        protected override Task CommitAsync()
        {
            if (IsDirty())
            {
                // save the new settings
                BackStage_PropertyPage.Properties.Settings settings = BackStage_PropertyPage.Properties.Settings.Default;

                settings.GeneralSetting = GeneralSetting;
                settings.OtherSetting   = OtherSetting;

                settings.Save();
            }

            return(Task.FromResult(0));
        }
        /// <summary>
        /// Initializes the page using the settings.
        /// </summary>
        /// <returns>A Task that represents the InitializeAsync method</returns>
        protected override Task InitializeAsync()
        {
            // get the default settings
            BackStage_PropertyPage.Properties.Settings settings = BackStage_PropertyPage.Properties.Settings.Default;

            // assign to the values binding to the controls
            _generalSetting = settings.GeneralSetting;
            _otherSetting   = settings.OtherSetting;

            // keep track of the original values (used for comparison when saving)
            _origGeneralSetting = GeneralSetting;
            _origOtherSetting   = OtherSetting;

            return(Task.FromResult(0));
        }