コード例 #1
0
        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();
        }