# MailMerge Class

> The MailMerge class is a .NET component that can be used to effortlessly merge template documents with database content in .NET projects, such as ASP.NET web applications, web services or Windows services. The MailMerge class can be found in the TXTextControl.DocumentServer namespace. It is inherited from the System.ComponentModel.Component class. The following describes only the properties and methods defined through the MailMerge class. For a list of properties, methods and events inherited from the System.ComponentModel.Component class see the .NET Framework reference.

- **Product:** TX Text Control .NET for WPF
- **Section:** Reference
- **Kind:** Class
- **Introduced:** 14.0
- **Namespace:** `TXTextControl.DocumentServer`
- **Package:** `TXTextControl.TextControl.WPF.SDK` (assembly `TXDocumentServer.dll`, from the private NuGet feed or Text Control Offline Packages)
- **.NET Framework:** reference `TXDocumentServer.dll` from the setup
- **Inherits:** `System.ComponentModel.Component`
- **Path:** TX Text Control .NET for WPF > Reference > TXTextControl.DocumentServer > MailMerge Class
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt

---

## On This Page

- [Description](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/#description)
- [Syntax](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/#syntax)
- [Examples](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/#examples)
- [Members](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/#members)

---

## In This Section

- [MailMerge.BarcodeMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/barcodemerged-event/llms.txt): Occurs when a barcode has been merged successfully. The event handler receives an argument of type BarcodeMergedEventArgs containing data related to this event.
- [MailMerge.BlockMerging Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/blockmerging-event/llms.txt): Occurs when a merge block is about to be merged. The event handler receives an argument of type BlockMergingEventArgs containing data related to this event.
- [MailMerge.BlockRowMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/blockrowmerged-event/llms.txt): Occurs when a merge block row has been merged successfully. The event handler receives an argument of type BlockRowMergedEventArgs containing data related to this event. This event can be used to change the content or formatting of a merged row in the repeating block.
- [MailMerge.ChartMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/chartmerged-event/llms.txt): Occurs when a chart has been merged successfully. The event handler receives an argument of type ChartMergedEventArgs containing data related to this event.
- [MailMerge Constructor](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/constructor/llms.txt): Initializes a new instance of the MailMerge class.
- [MailMerge.DataRowMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/datarowmerged-event/llms.txt): Occurs when a data row has been merged successfully. The event handler receives an argument of type DataRowMergedEventArgs containing data related to this event.
- [MailMerge.DataSourceCulture Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/datasourceculture-property/llms.txt): Specifies the culture with which numerical and date / time values coming from the data source are parsed. The default value for this property is the current thread culture.
- [MailMerge.DateFieldUtcOffset Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/datefieldutcoffset-property/llms.txt): Specifies the UTC offset in minutes to apply to date fields. If this property is null, the local date and time is used. The default value of this property is null.
- [MailMerge.FieldMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/fieldmerged-event/llms.txt): Occurs when a field has been merged. The event handler receives an argument of type FieldMergedEventArgs containing data related to this event. This event can be used to change the field text and to determine whether the field has been merged successfully.
- [MailMerge.FormFieldMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/formfieldmerged-event/llms.txt): Occurs when a form field has been merged. The event handler receives an argument of type FormFieldMergedEventArgs containing data related to this event. This event can be used to change the field text and to determine whether the field has been merged successfully.
- [MailMerge.FormFieldMergeType Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/formfieldmergetype-property/llms.txt): Specifies in which manner form fields are treated during the merge process. Form fields can either be ignored, preselected or replaced with a value from the data source. The default value is FormFieldMergeType.None which means that form fields are completely unaffected by the merge process.
- [MailMerge.GetBlockFieldNames Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/getblockfieldnames-method/llms.txt): Returns the names of all merge fields inside the merge block with the specified name.
- [MailMerge.GetBlockNames Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/getblocknames-method/llms.txt): Lists the names of all merge blocks contained in the currently loaded template.
- [MailMerge.ImageFieldMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/imagefieldmerged-event/llms.txt): Occurs when an image field, i.e., a merge field whose name is prefixed with "image:" has been merged. The event handler receives an argument of type ImageFieldMergedEventArgs containing data related to this event. This event can be used to change the image and to determine whether the field has been merged successfully.
- [MailMerge.ImageMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/imagemerged-event/llms.txt): Occurs when an image has been merged successfully. The event handler receives an argument of type ImageMergedEventArgs containing data related to this event.
- [MailMerge.IncludeTextMerging Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/includetextmerging-event/llms.txt): Occurs when an IncludeText field has been merged. The event handler receives an argument of type IncludeTextMergingEventArgs containing data related to this event.
- [MailMerge.LoadTemplate Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/loadtemplate-method/llms.txt): Loads a template from a file that is used for the merge process.
- [MailMerge.LoadTemplateFromMemory Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/loadtemplatefrommemory-method/llms.txt): Loads a template from memory that is used for the merge process.
- [MailMerge.Merge Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/merge-method/llms.txt): Merges given data into the loaded document template. The supported format of the merge fields can be found in the ASP.NET User's Guide.
- [MailMerge.MergeBlockNamePrefix Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeblocknameprefix-property/llms.txt): A static property returning the internal merge block name prefix “txmb_”. The name of a SubTextPart has to start with this prefix if it should be recognized as a repeating mail merge block by the merge methods of class MailMerge.
- [MailMerge.MergeBlocks Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeblocks-method/llms.txt): Merges all repeating blocks that are contained in the loaded template with the System.Data.DataTable instances contained in the given System.Data.DataSet. The name of the System.Data.DataTable must match the name of the block in the template. The supported format of the repeating blocks can be found in the ASP.NET User's Guide.
- [MailMerge.MergeCulture Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeculture-property/llms.txt): Specifies the culture with which numerical and date / time values are formatted when merged into the target document. The default value for this property is the current thread culture.
- [MailMerge.MergeJsonData Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergejsondata-method/llms.txt): Merges data given as a JSON string into a document template. The JSON string has to contain either a single object or an array of equally structured objects. Analyzes and uses the given object(s) as merge data in the same way as the method MergeObjects.
- [MailMerge.MergeObject Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeobject-method/llms.txt): Merges a single instance of an arbitrary type into the loaded document template. For more information about .NET reflection based object merging read the documentation of the MergeObjects method.
- [MailMerge.MergeObjects Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/mergeobjects-method/llms.txt): Merges a collection of type System.Collections.IEnumerable containing objects of any type or instances of type System.Collections.Generic.Dictionary with string keys into the loaded document template.
- [MailMerge.Print Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/print-method/llms.txt): Prints the merged document.
- [MailMerge.RemoveEmptyBlocks Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/removeemptyblocks-property/llms.txt): Specifies whether the content of empty merge blocks should be removed from the template or not. The default value is true.
- [MailMerge.RemoveEmptyFields Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/removeemptyfields-property/llms.txt): Specifies whether empty fields should be removed from the template or not. The default value is true.
- [MailMerge.RemoveEmptyImages Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/removeemptyimages-property/llms.txt): Specifies whether images which don't have merge data should be removed from the template or not. The default value is false.
- [MailMerge.RemoveEmptyLines Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/removeemptylines-property/llms.txt): Specifies whether text lines which are empty after merging should be removed from the template or not. The default value is false.
- [MailMerge.RemoveTrailingWhitespace Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/removetrailingwhitespace-property/llms.txt): Specifies whether trailing whitespace should be removed before saving a document. The default value is true.
- [MailMerge.ReportDataSourceConfig Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/reportdatasourceconfig-property/llms.txt): Specifies the Report Data Source Configuration as an XML string. Must be in the same form as the content of a Report Data Source Configuration file created by TX Text Control Words.
- [MailMerge.ReportDataSourceConfigFile Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/reportdatasourceconfigfile-property/llms.txt): Gets or sets the file path of a Report Data Source Configuration file (*.rdsc) which has been created with TX Text Control Words.
- [MailMerge.SaveDocument Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/savedocument-method/llms.txt): Saves the merged document to a file.
- [MailMerge.SaveDocumentToMemory Method](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/savedocumenttomemory-method/llms.txt): Saves the merged document.
- [MailMerge.SearchPath Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/searchpath-property/llms.txt): Specifies a directory name where sub-templates and images (for image merging) should be searched. If SearchPath is empty, the root directory is used.
- [MailMerge.TemplateFile Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/templatefile-property/llms.txt): Specifies the template file path. Can be used instead of the LoadTemplate method. The document format is deduced from the file extension automatically.
- [MailMerge.TextComponent Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/textcomponent-property/llms.txt): Gets or sets the TextComponent object which is associated with the MailMerge component. It must be of the type ServerTextControl, TextControl or WPF.TextControl. The PageSize, PageMargins and Landscape properties will be used, if UseTemplateFormat has been set to false. The ServerTextControl.FormattingPrinter property will be used internally to format the text. It returns null when not specified.
- [MailMerge.UseTemplateFormat Property](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/usetemplateformat-property/llms.txt): Specifies whether the template page size and margins should be used or not. The default value is false.

---

## Nearby

- **Previous:** [FileFormat Enumeration](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/fileformat/enumeration/llms.txt)
- **Next:** [MailMerge.BarcodeMerged Event](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/barcodemerged-event/llms.txt)
