officefileapi-devexpress-dot-xtraspreadsheet-dot-services-c0d58c2b.md
A service which is used to create Spreadsheet commands.
Namespace : DevExpress.XtraSpreadsheet.Services
Assembly : DevExpress.Spreadsheet.v25.2.Core.dll
NuGet Package : DevExpress.Spreadsheet.Core
[ComVisible(true)]
public interface ISpreadsheetCommandFactoryService
<ComVisible(True)>
Public Interface ISpreadsheetCommandFactoryService
The following members return ISpreadsheetCommandFactoryService objects:
All commands in the SpreadsheetControl are created using the command factory service. You can substitute the default command factory service with its descendant, designed to create a custom command instead of the default command. Subsequently, the specified custom command is used in all SpreadsheetControl operations instead of the original command.
To substitute a default command factory service, create a class descending from the SpreadsheetCommandFactoryServiceWrapper class. Do not implement the ISpreadsheetCommandFactoryService interface directly in your class.
The following code snippet demonstrates a custom service used to substitute for the Clear Contents formatting commands located in Ribbon and context menu with a custom command.
public class CustomService : SpreadsheetCommandFactoryServiceWrapper {
public CustomService(ISpreadsheetCommandFactoryService service)
: base(service) {
}
public SpreadsheetControl Control {get;set;}
public override SpreadsheetCommand CreateCommand(SpreadsheetCommandId id)
{
if (id == SpreadsheetCommandId.FormatClearContents || id == SpreadsheetCommandId.FormatClearContentsContextMenuItem)
return new CustomFormatClearContentsCommand(Control);
return base.CreateCommand(id);
}
}
Public Class CustomService
Inherits SpreadsheetCommandFactoryServiceWrapper
Public Sub New(ByVal service As ISpreadsheetCommandFactoryService)
MyBase.New(service)
End Sub
Public Property Control() As SpreadsheetControl
Public Overrides Function CreateCommand(ByVal id As SpreadsheetCommandId) As SpreadsheetCommand
If id = SpreadsheetCommandId.FormatClearContents OrElse id = SpreadsheetCommandId.FormatClearContentsContextMenuItem Then
Return New CustomFormatClearContentsCommand(Control)
End If
Return MyBase.CreateCommand(id)
End Function
End Class
See Also
ISpreadsheetCommandFactoryService Members
Services in WinForms Spreadsheet