private void ExecuteSetConfigItemStatus(object param) { if (_disposed) { return; } if (_isChangingConfig) { return; } _isChangingConfig = true; ComboBox box = (ComboBox)param; IConfigurationItem item = (IConfigurationItem)box.DataContext; ConfigurationStatus newStatus = (ConfigurationStatus)box.SelectedItem; var itemSetResult = item.SetStatus(newStatus, "ConfigurationEditor"); if (!itemSetResult.Success) { RaiseUserError("Couldn't set item", String.Format("Could not set {0} to {2}, as it would cause the following error:\n\n{1}", _serviceInfoManager.GetDescriptionOfServiceOrPluginFullName(item.ServiceOrPluginFullName), itemSetResult.Describe(), newStatus.ToString()) ); } _isChangingConfig = false; box.GetBindingExpression(ComboBox.SelectedItemProperty).UpdateTarget(); }