public void ShowWindow() { if (_configurationWindow == null) { _configurationWindow = new ConfigurationViewModel(); bool?result = ServiceManager.OpenDialog(_configurationWindow); if (result == true) { // Restart to immediately send a ping request with the new settings _pingService.Stop(); _pingService.Start(); } _configurationWindow = null; } else { // The configuration window is a modal dialog so if it is already opened // push it to the foreground instead of creating a new window ServiceManager.ActivateWindow(_configurationWindow); } }