protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); await FormatCommand.InitializeAsync(this); //Read settings SettingsManager settingsManager = new ShellSettingsManager(this as System.IServiceProvider); userSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings); //Load settings on init LoadSettings(); //Save settings on close ((OptionPageGrid)GetDialogPage(typeof(OptionPageGrid))).onClose = SaveSettings; //Load settings on open ((OptionPageGrid)GetDialogPage(typeof(OptionPageGrid))).onOpen = LoadSettings; }