Editor Options Reference

The Options property on WpfHtmlEditor returns the editor's settings object. The WPF UserOption class implements the cross-platform IEditorOptions contract; the same interface is implemented by the WinForms UserOption class so the algorithms that key off these properties behave identically across both controls. This page lists every member on IEditorOptions.

Namespace: SpiceLogic.HtmlEditor.Abstractions
Assembly: SpiceLogic.HtmlEditor.Abstractions.dll
Accessor: MyEditor.Options

KeepTextSelectedAfterFontChange Property

Gets or sets whether the editor preserves the user's text selection after a font-family, font-size, or color change. When false, the caret collapses to the end of the change after the toolbar action (matches MS Word).

Syntax
bool KeepTextSelectedAfterFontChange { get; set; }
Property Value

true to keep the original range selected after a font-related toolbar action; otherwise false.

Example
// Allow chained format commands without re-selecting.
MyEditor.Options.KeepTextSelectedAfterFontChange = true;
' Allow chained format commands without re-selecting.
MyEditor.Options.KeepTextSelectedAfterFontChange = True

SacrificeOptimizationForLongHtml Property

Disables internal layout-batching optimizations for very large documents. Enable this when the document exceeds tens of kilobytes and the editor becomes visibly slow to react to formatting commands; the trade-off is more reliable behaviour at the cost of slower per-keystroke processing.

Syntax
bool SacrificeOptimizationForLongHtml { get; set; }
Property Value

true to disable the optimization; otherwise false (default).

Example
MyEditor.Options.SacrificeOptimizationForLongHtml =
    MyEditor.Content.GetBodyHtml().Length > 500_000;

ConvertFileUrlsToLocalPaths Property

Rewrites file:// URLs in the document to plain local paths when the HTML is read back. Useful when the document is saved to disk and re-loaded as a local file.

Syntax
bool ConvertFileUrlsToLocalPaths { get; set; }
Property Value

true to convert; otherwise false.

Example
MyEditor.Options.ConvertFileUrlsToLocalPaths = true;
MyEditor.Options.ConvertFileUrlsToLocalPaths = True

UrlEncodeHyperlinkHRefs Property

URL-encodes href attributes of <a> elements when the HTML is normalized.

Syntax
bool UrlEncodeHyperlinkHRefs { get; set; }
Property Value

true to URL-encode hyperlink targets; otherwise false.

Example
MyEditor.Options.UrlEncodeHyperlinkHRefs = true;
MyEditor.Options.UrlEncodeHyperlinkHRefs = True

ConvertAbsoluteUrlsToRelativeUrls Property

Rewrites absolute image and link URLs that fall under the current BaseUrl as relative URLs when the document is read back.

Syntax
bool ConvertAbsoluteUrlsToRelativeUrls { get; set; }
Property Value

true to rewrite under-BaseUrl absolute URLs as relative; otherwise false.

Remarks

Has no effect unless BaseUrl is set.

Example
MyEditor.BaseUrl = "https://cms.example.com/articles/";
MyEditor.Options.ConvertAbsoluteUrlsToRelativeUrls = true;
MyEditor.BaseUrl = "https://cms.example.com/articles/"
MyEditor.Options.ConvertAbsoluteUrlsToRelativeUrls = True

EnterKeyResponse Property

Controls what the editor inserts when the user presses Enter inside an empty paragraph -- a new <p>, a <br />, or a split of the current block.

Syntax
EnterKeyResponses EnterKeyResponse { get; set; }
Property Value

One of the EnterKeyResponses enum members.

Example
using SpiceLogic.HtmlEditor.Abstractions;

// Email composer mode -- Enter inserts a single <br /> line break.
MyEditor.Options.EnterKeyResponse = EnterKeyResponses.LineBreak;
Imports SpiceLogic.HtmlEditor.Abstractions

' Email composer mode -- Enter inserts a single <br /> line break.
MyEditor.Options.EnterKeyResponse = EnterKeyResponses.LineBreak

FooterTagNavigatorFont Property

Gets or sets the font used for the breadcrumb tag-navigator strip rendered at the bottom of the editor.

Syntax
Font? FooterTagNavigatorFont { get; set; }
Property Value

A System.Drawing.Font, or null to use the system default.

Example
using System.Drawing;

MyEditor.Options.FooterTagNavigatorFont = new Font("Cascadia Mono", 9f);
Imports System.Drawing

MyEditor.Options.FooterTagNavigatorFont = New Font("Cascadia Mono", 9F)

FooterTagNavigatorTextColor Property

Gets or sets the text color of the breadcrumb tag-navigator strip at the bottom of the editor.

Syntax
Color FooterTagNavigatorTextColor { get; set; }
Property Value

A System.Drawing.Color.

Example
MyEditor.Options.FooterTagNavigatorTextColor = Color.SteelBlue;

DefaultHtmlType Property

Gets or sets the HTML document type that the editor emits when generating a fresh document (HTML 4.01 Transitional, XHTML 1.0, HTML5, etc).

Syntax
HtmlContentTypes DefaultHtmlType { get; set; }
Property Value

One of the HtmlContentTypes enum members.

Remarks

The actual DOCTYPE string emitted for the chosen value can be retrieved at runtime via GetDocTypeValue().

Example
using SpiceLogic.HtmlEditor.Abstractions;

MyEditor.Options.DefaultHtmlType = HtmlContentTypes.Html5;
Imports SpiceLogic.HtmlEditor.Abstractions

MyEditor.Options.DefaultHtmlType = HtmlContentTypes.Html5

OutputMetaGenerator Property

Determines whether the editor writes a <meta name="generator"> tag identifying itself into the document <head>.

Syntax
bool OutputMetaGenerator { get; set; }
Property Value

true to include the generator meta tag; false to omit it.

Example
MyEditor.Options.OutputMetaGenerator = false;
MyEditor.Options.OutputMetaGenerator = False

AutoDetectWordPaste Property

Determines whether the editor automatically scrubs MS Word HTML when the clipboard content looks like a Word paste, even if the user used the regular Paste command rather than Paste-from-Word.

Syntax
bool AutoDetectWordPaste { get; set; }
Property Value

true to auto-detect and clean Word paste; otherwise false.

Example
MyEditor.Options.AutoDetectWordPaste = true;
MyEditor.Options.MsIePasteBehavior = false; // required for cleanup to run
MyEditor.Options.AutoDetectWordPaste = True
MyEditor.Options.MsIePasteBehavior = False ' required for cleanup to run

MsIePasteBehavior Property

Determines whether the editor delegates paste handling to MSHTML's default behavior (legacy IE paste) instead of using the editor's own paste pipeline. Set false for cleaner output; set true only when an application explicitly depends on the legacy paste behavior.

Syntax
bool MsIePasteBehavior { get; set; }
Property Value

true to use MSHTML default paste; otherwise false.

Remarks

When true, the Pasting event still fires but PastingHtmlEventArgs.PastingHtml is null -- the editor cannot inspect or rewrite the inserted HTML.

Example
MyEditor.Options.MsIePasteBehavior = false;
MyEditor.Options.MsIePasteBehavior = False

EnableTableCellMerge Property

Determines whether the table authoring service permits merging selected cells. Mirrored to ITableAuthoringService.EnableTableCellMerging at startup.

Syntax
bool EnableTableCellMerge { get; set; }
Property Value

true to allow cell merging; otherwise false.

Example
MyEditor.Options.EnableTableCellMerge = true;
MyEditor.Options.EnableTableCellMerge = True

AutoResizeLargeImages Property

Automatically rescales pasted or dropped images that exceed MaxPastedImageWidth pixels in width.

Syntax
bool AutoResizeLargeImages { get; set; }
Property Value

true to scale oversize images down; otherwise false.

Example
MyEditor.Options.AutoResizeLargeImages = true;
MyEditor.Options.MaxPastedImageWidth = 800;
MyEditor.Options.AutoResizeLargeImages = True
MyEditor.Options.MaxPastedImageWidth = 800

MaxPastedImageWidth Property

The maximum width (in pixels) used by the auto-resize-on-paste logic. Ignored unless AutoResizeLargeImages is true.

Syntax
int MaxPastedImageWidth { get; set; }
Property Value

A pixel value (commonly 600-1200). Values <= 0 disable resizing even if AutoResizeLargeImages is set.

Example
MyEditor.Options.MaxPastedImageWidth = 1280;

ZeroBorderTableGuidelineCss Property

The CSS rule applied to tables with border="0" while the zero-border-guideline overlay is active. Customers can change the dotted style or color used to hint table boundaries during authoring.

Syntax
string ZeroBorderTableGuidelineCss { get; set; }
Property Value

A CSS declaration string (for example "outline: 1px dashed #888;"). The default value is provided by the editor.

Example
MyEditor.Options.ZeroBorderTableGuidelineCss = "outline: 1px dotted #c00;";

GetDocTypeValue() Method

Returns the DOCTYPE string that corresponds to the current DefaultHtmlType. The editor calls this when a fresh document is created.

Syntax
string GetDocTypeValue();
Returns

The full <!DOCTYPE ...> literal that the editor will emit at the top of a new document.

Example
string doctype = MyEditor.Options.GetDocTypeValue();
Trace.WriteLine($"Editor will emit: {doctype}");
Dim doctype As String = MyEditor.Options.GetDocTypeValue()
Trace.WriteLine($"Editor will emit: {doctype}")
Last updated on May 14, 2026