In This Article

SyntaxEditor Class

Represents a syntax-highlighting code editor control.

[TemplatePart(Name = "PART_EditorViewHost", Type = typeof(EditorViewHost))]
public class SyntaxEditor : Control
Inheritance:
object Visual UIElement FrameworkElement Control object

Constructors

SyntaxEditor()

Initializes an instance of the class.

public SyntaxEditor()

Properties

AcceptsTab

Indicates whether the Tab key is accepted, allowing for the insertion of tab stops and/or indenting blocks of text.

public bool AcceptsTab { get; set; }

Property Value

bool:

true if the tab key is accepted; otherwise, false. The default value is true.

Remarks

When this property is false, the Tab and Shift+Tab key shortcuts will move focus instead.

ActiveView

The currently-active IEditorView in the editor.

public IEditorView ActiveView { get; }

Property Value

IEditorView

Remarks

The currently-active view in the editor is the view that contains focus when focus is moved within the editor. There is always a single view in an editor marked as active.

AllowDrag

Indicates whether dragging text from the editor is allowed.

public bool AllowDrag { get; set; }

Property Value

bool:

true if dragging text from the editor is allowed; otherwise, false. The default value is true.

AreColumnGuidesVisible

Indicates whether column guides are visible.

public bool AreColumnGuidesVisible { get; set; }

Property Value

bool:

true if column guides are visible; otherwise, false. The default value is true.

AreIndentationGuidesVisible

Indicates whether indentation guides are visible.

public bool AreIndentationGuidesVisible { get; set; }

Property Value

bool:

true if indentation guides are visible; otherwise, false. The default value is false.

AreLineModificationMarksVisible

Indicates whether line modification marks are visible.

public bool AreLineModificationMarksVisible { get; set; }

Property Value

bool:

true if line modification marks are visible; otherwise, false. The default value is true.

AreMultipleSelectionRangesEnabled

Indicates whether multiple selection range features (and related carets) are enabled.

public bool AreMultipleSelectionRangesEnabled { get; set; }

Property Value

bool:

true if multiple selection range features (and related carets) are enabled; otherwise, false. The default value is true.

Remarks

When this property is true, various features for supporting insertion of multiple carets and managing more than a single selection range will be enabled. Set this property to false to prevent more than a single selection range.

AreSelectionGrippersEnabled

Indicates whether selection grippers (when touching a view) are enabled.

public bool AreSelectionGrippersEnabled { get; set; }

Property Value

bool:

true if selection grippers (when touching a view) are enabled; otherwise, false. The default value is true.

AreWordWrapGlyphsVisible

Indicates whether word wrap glyphs are visible when word wrap is enabled.

public bool AreWordWrapGlyphsVisible { get; set; }

Property Value

bool:

true if word wrap glyphs are visible when word wrap is enabled; otherwise, false. The default value is false.

Remarks

Set the WordWrapMode property to control to designate the current word wrap mode.

CanBackspaceOverSpacesToTabStop

Indicates whether a Backspace key pressed before the first non-whitespace character of a line will backspace to the previous tab stop.

public bool CanBackspaceOverSpacesToTabStop { get; set; }

Property Value

bool:

true if a Backspace key pressed before the first non-whitespace character of a line will backspace to the previous tab stop; otherwise, false. The default value is true.

Remarks

This property is only used when AutoConvertTabsToSpaces is true. When this property is false, only one space character maximum will be consumed when backspacing before the first non-whitespace character of a line.

See Also

CanCutCopyBlankLineWhenNoSelection

Indicates whether cut/copy operations on a blank line with no selection overwrites the clipboard with the blank line.

public bool CanCutCopyBlankLineWhenNoSelection { get; set; }

Property Value

bool:

true if cut/copy operations on a blank line with no selection overwrites the clipboard with the blank line; otherwise, false. The default value is true.

Remarks

When there is no selection in the editor and a cut or copy operation occurs, the text of the current line will be sent to the clipboard. If the text is subsequently pasted back into the editor while there is no selection, a new link will be created to insert the clipboard data and the caret will not move. Even if this property is false, cutting of blank lines will occur but the clipboard will not be changed.

CanCutCopyDragWithHtml

Indicates whether the cutting and copying of text to the clipboard or dragging text also copies the text in HTML format, which retains syntax highlighting.

public bool CanCutCopyDragWithHtml { get; set; }

Property Value

bool:

true if HTML format is included; otherwise, false. The default value is false.

Remarks

Activating this feature will cause a slight delay when cutting, copying, or dragging text since the building of HTML formatted text can take time. However most likely this delay will be negligible.

CanCutCopyDragWithRtf

Indicates whether the cutting and copying of text to the clipboard or dragging text also copies the text in RTF format, which retains syntax highlighting.

public bool CanCutCopyDragWithRtf { get; set; }

Property Value

bool:

true if RTF format is included; otherwise, false. The default value is true.

Remarks

Activating this feature will cause a slight delay when cutting, copying, or dragging text since the building of RTF formatted text can take time. However most likely this delay will be negligible.

CanIncrementalSearchTrimUnmatchedFindText

Indicates whether incremental search can ignore typed characters appended to the find text when no match was found for the previous find text.

public bool CanIncrementalSearchTrimUnmatchedFindText { get; set; }

Property Value

bool:

true if incremental search can ignore typed characters appended to the find text when no match was found for the previous find text; otherwise, false. The default value is true.

CanMoveCaretForSecondaryPointerButton

Indicates whether to move the caret when a secondary pointer button (e.g. a right mouse button) is pressed outside of the current selection.

public bool CanMoveCaretForSecondaryPointerButton { get; set; }

Property Value

bool:

true if the caret should move when a secondary pointer button (e.g. a right mouse button) is pressed outside of the current selection; otherwise, false. The default value is true.

CanMoveCaretToNextLineAtLineEnd

Indicates whether to move the caret to the next view line when pressing the right-arrow key at the end of a view line.

public bool CanMoveCaretToNextLineAtLineEnd { get; set; }

Property Value

bool:

true if the caret should move to the next view line when pressing the right-arrow key at the end of a view line; otherwise, false. The default value is true.

CanMoveCaretToPreviousLineAtLineStart

Indicates whether to move the caret to the previous view line when pressing the left-arrow key at the start of a view line.

public bool CanMoveCaretToPreviousLineAtLineStart { get; set; }

Property Value

bool:

true if the caret should move to the previous view line when pressing the left-arrow key at the start of a view line; otherwise, false. The default value is true.

CanPointerWheelScrollUnfocusedViews

Indicates whether pointer (mouse) wheels can scroll unfocused editor views.

public bool CanPointerWheelScrollUnfocusedViews { get; set; }

Property Value

bool:

true if pointer (mouse) wheels can scroll unfocused editor views; otherwise, false. The default value is true.

CanScrollPastDocumentEnd

Indicates whether it is possible to scroll past the end of the document.

public bool CanScrollPastDocumentEnd { get; set; }

Property Value

bool:

true if it is possible to scroll past the end of the document; otherwise, false. The default value is true.

Remarks

When this property is set to true, the vertical scrollbar allows scrolling of the last line of the document up to the first view line in the view.

This property should not be set to false when intra-line adornments are used or multiple font faces/sizes are used in highlighting styles, since the vertical scrollbar maximum cannot be properly calculated in those scenarios.

This property has no effect when word wrap mode is active.

CanScrollPastDocumentEndResolved

A resolved value for whether it is possible to scroll past the end of the document.

public bool CanScrollPastDocumentEndResolved { get; }

Property Value

bool:

true if it is possible to scroll past the end of the document; otherwise, false.

Remarks

CanScrollPastDocumentEnd is forced when in word wrap mode.

CanSplitHorizontally

Indicates whether the editor can be split horizontally to show more than one view.

public bool CanSplitHorizontally { get; set; }

Property Value

bool:

true if the editor can be split horizontally to show more than one view; otherwise, false. The default value is true.

CaretBlinkInterval

The interval at which the caret blinks, in milliseconds.

public int CaretBlinkInterval { get; set; }

Property Value

int:

The default value is 500ms.

CaretBrush

The Brush to use for rendering the caret.

public Brush? CaretBrush { get; set; }

Property Value

Brush

CaretInsertKind

A CaretKind indicating the kind of the caret when in insert mode.

public CaretKind CaretInsertKind { get; set; }

Property Value

CaretKind:

The default value is VerticalLine.

CaretInsertWidth

The width of the caret when in insert mode, if a non-block caret kind is used.

public int CaretInsertWidth { get; set; }

Property Value

int:

The width must be within 1 and 8. The default value is 1.

CaretOverwriteKind

A CaretKind indicating the kind of the caret when in overwrite mode.

public CaretKind CaretOverwriteKind { get; set; }

Property Value

CaretKind:

The default value is CaretKind.Block.

CaretOverwriteWidth

The width of the caret when in overwrite mode, if a non-block caret kind is used.

public int CaretOverwriteWidth { get; set; }

Property Value

int:

The width must be within 1 and 8. The default value is 1.

ColumnGuides

A collection of IColumnGuide instances to be displayed in the ITextView.

public IColumnGuideCollection? ColumnGuides { get; set; }

Property Value

IColumnGuideCollection

Document

The IEditorDocument being edited by the control.

public IEditorDocument Document { get; set; }

Property Value

IEditorDocument

HasHorizontalSplit

Indicates whether the editor is currently split horizontally to show more than one view.

public bool HasHorizontalSplit { get; set; }

Property Value

bool:

true if the editor is currently split horizontally to show more than one view; otherwise, false. The default value is false.

See Also

HasSearchOverlayPaneKeyBindings

Indicates whether the editor has key bindings (hotkeys) that trigger the built-in search overlay pane.

public bool HasSearchOverlayPaneKeyBindings { get; set; }

Property Value

bool:

true if the editor has key bindings (hotkeys) that trigger the built-in search overlay pane; otherwise, false. The default value is true.

Remarks

This properly should be set to false when an external search UI is used, since a false setting will prevent access to the built-in search overlay pane. Key bindings like those involving F3, Ctrl+F, and Ctrl+H are affected by this property. When this property is toggled, the ResetInputBindings() method will be called.

HighlightingStyleRegistry

The default IHighlightingStyleRegistry to use.

public IHighlightingStyleRegistry? HighlightingStyleRegistry { get; set; }

Property Value

IHighlightingStyleRegistry

Remarks

If this property is null, the AmbientHighlightingStyleRegistry will be used.

HorizontalScrollBarVisibility

The ScrollBarVisibility that specifies the visibility of the horizontal ScrollBar.

public ScrollBarVisibility HorizontalScrollBarVisibility { get; set; }

Property Value

ScrollBarVisibility:

The default value is Visible.

Remarks

Visible and Auto always show the ScrollBar. Hidden and Disabled always hide the ScrollBar.

HorizontalSplitPercentage

The percentage across the height of the editor at which the horizontal split is located.

public double HorizontalSplitPercentage { get; set; }

Property Value

double:

A value between 0 and 1 indicating the percentage. The default value is 0.

Remarks

A value of 0 indicates that there is no split.

See Also

InactiveSelectedTextBackground

The Brush to use when rendering the inactive selection background.

public Brush? InactiveSelectedTextBackground { get; set; }

Property Value

Brush

IndicatorMarginBackground

The Brush to use when rendering the indicator margin background.

public Brush? IndicatorMarginBackground { get; set; }

Property Value

Brush

IntelliPrompt

The IIntelliPromptManager that manages IntelliPrompt user interface functionality for this editor.

public IIntelliPromptManager IntelliPrompt { get; }

Property Value

IIntelliPromptManager

IsAutoCorrectEnabled

Indicates whether auto-correct, such as case correction, is enabled.

public bool IsAutoCorrectEnabled { get; set; }

Property Value

bool:

true if auto-correct is enabled; otherwise, false. The default value is true.

Remarks

Note that the auto correct feature requires that the current language have an IAutoCorrector service registered, along with other possible requirements.

IsCollapsibleRegionHighlightingEnabled

Indicates whether collapsible regions highlight when the pointer is over the outlining margin.

public bool IsCollapsibleRegionHighlightingEnabled { get; set; }

Property Value

bool:

true if collapsible regions highlight when the pointer is over the outlining margin; otherwise, false. The default value is true.

IsCurrentLineHighlightingEnabled

Indicates whether current line highlighting is enabled for the active view.

public bool IsCurrentLineHighlightingEnabled { get; set; }

Property Value

bool:

true if current line highlighting is enabled for the active view; otherwise, false. The default value is false.

See Also

IsCurrentLineNumberHighlightingEnabled

Indicates whether current line number in the line number margin is highlighted in a different style from the other line numbers.

public bool IsCurrentLineNumberHighlightingEnabled { get; set; }

Property Value

bool:

true if current line number highlighting is enabled for the active view; otherwise, false. The default value is true.

See Also

IsDefaultContextMenuEnabled

Indicates whether the default context menu is enabled.

public bool IsDefaultContextMenuEnabled { get; set; }

Property Value

bool:

true if the default context menu is enabled; otherwise, false. The default value is true.

IsDelimiterAutoCompleteEnabled

Indicates whether delimiter auto-complete is enabled for the active view.

public bool IsDelimiterAutoCompleteEnabled { get; set; }

Property Value

bool:

true if delimiter auto-complete is enabled for the active view; otherwise, false. The default value is true.

IsDelimiterHighlightingEnabled

Indicates whether delimiter highlighting is enabled for the active view.

public bool IsDelimiterHighlightingEnabled { get; set; }

Property Value

bool:

true if delimiter highlighting is enabled for the active view; otherwise, false. The default value is true.

IsDocumentReadOnly

Indicates whether the attached document is read-only.

public bool IsDocumentReadOnly { get; set; }

Property Value

bool:

true if attached document is read-only; otherwise, false. The default value is false.

Remarks

You may also use the ITextDocument.IsReadOnly property to alter this value.

IsDragDropTextReselectEnabled

Indicates whether to reselect text that is dragged and dropped into the control.

public bool IsDragDropTextReselectEnabled { get; set; }

Property Value

bool:

true if text that is dragged and dropped into the control should be reselected; otherwise, false. The default value is true.

IsImeEnabled

Indicates whether support for IME (Input Method Editor) is enabled.

public bool IsImeEnabled { get; set; }

Property Value

bool:

true if IME support is enabled; otherwise, false. The default value is true.

Remarks

IME is a Window feature that allows users to enter characters and symbols not found on their input device. It allows Western keyboards to enter Chinese, Japanese, etc. characters.

IsIndicatorMarginVisible

Indicates whether the indicator margin is visible.

public bool IsIndicatorMarginVisible { get; set; }

Property Value

bool:

true if the indicator margin is visible; otherwise, false. The default value is false.

Remarks

This property is only effective if the default indicator margin is created by the ViewMarginFactories currently in use.

IsLineNumberMarginVisible

Indicates whether the line number margin is visible.

public bool IsLineNumberMarginVisible { get; set; }

Property Value

bool:

true if the line number margin is visible; otherwise, false. The default value is false.

Remarks

This property is only effective if the default line number margin is created by the ViewMarginFactories currently in use.

IsMultiLine

Indicates whether the editor allows multiple lines of text.

public bool IsMultiLine { get; set; }

Property Value

bool:

true if the editor allows multiple lines of text; otherwise, false. The default value is true.

Remarks

When this property is false, only a single line of text is permitted in the document and the editor renders like a native single-line textbox.

IsOutliningMarginVisible

Indicates whether the outlining margin is visible.

public bool IsOutliningMarginVisible { get; set; }

Property Value

bool:

true if the outlining margin is visible; otherwise, false. The default value is true.

Remarks

This property is only effective if the default outlining margin is created by the ViewMarginFactories currently in use.

IsOverwriteModeActive

Indicates whether the editor is in overwrite mode, where typing overwrites the character at the caret's offset.

public bool IsOverwriteModeActive { get; set; }

Property Value

bool:

true if the editor is in overwrite mode; otherwise, false. The default value is false.

IsRulerMarginVisible

Indicates whether the ruler margin is visible.

public bool IsRulerMarginVisible { get; set; }

Property Value

bool:

true if the ruler margin is visible; otherwise, false. The default value is false.

Remarks

This property is only effective if the default ruler margin is created by the ViewMarginFactories currently in use.

IsSearchResultHighlightingEnabled

Indicates whether search result highlighting is enabled for the active view when performing incremental search or when using the search overlay pane.

public bool IsSearchResultHighlightingEnabled { get; set; }

Property Value

bool:

true if search result highlighting is enabled for the active view; otherwise, false. The default value is true.

IsSelectionMarginVisible

Indicates whether the selection margin is visible.

public bool IsSelectionMarginVisible { get; set; }

Property Value

bool:

true if the selection margin is visible; otherwise, false. The default value is true.

Remarks

This property is only effective if the default selection margin is created by the ViewMarginFactories currently in use.

IsTextDataBindingEnabled

Indicates whether data binding on the Text property is currently enabled.

public bool IsTextDataBindingEnabled { get; set; }

Property Value

bool:

true if data binding on the Text property is currently enabled; otherwise, false. The default value is false.

Remarks

Data binding is off by default on the Text property for two reasons. First, supporting the Text dependency property means that two full copies of the document text are stored in memory instead of one, which can increase memory a lot for large documents. Second, the full text must be set to the dependency property after each text change, meaning performance could suffer depending on the size of the document.

It is recommended to only set IsTextDataBindingEnabled to true when data binding is required, and note that the IsTextDataBindingEnabled property must be set before creating a binding on the Text property.

IsViewLineMeasureEnabled

Indicates whether the editor view lines are measured, allowing the editor to resize as text contents change.

public bool IsViewLineMeasureEnabled { get; set; }

Property Value

bool:

true if the editor view lines can be measured; otherwise, false. The default value is false.

Remarks

This property affects performance and should only be set to true in specific scenarios where it is desired for the editor to resize based on contents, such as when used within a StackPanel.

IsVirtualSpaceAtLineEndEnabled

Indicates whether virtual space at the end of lines is enabled.

public bool IsVirtualSpaceAtLineEndEnabled { get; set; }

Property Value

bool:

true if virtual space at the end of lines is enabled; otherwise, false. The default value is false.

Remarks

When true, the caret can move past the end of lines. Use of virtual space at the end of lines will disable word wrap.

IsWhitespaceVisible

Indicates whether whitespace (spaces and tabs) is visible.

public bool IsWhitespaceVisible { get; set; }

Property Value

bool:

true if whitespace (spaces and tabs) is visible; otherwise, false. The default value is false.

IsWordWrapEnabled

Indicates whether word wrap mode is currently enabled.

public bool IsWordWrapEnabled { get; set; }

Property Value

bool:

true if word wrap mode is currently enabled; otherwise, false. The default value is false.

Remarks

This property returns true if any WordWrapMode property value other than None is specified. Set the WordWrapMode property to control to designate the current word wrap mode.

IsWordWrapGlyphMarginVisible

Indicates whether the word wrap glyph margin is visible.

public bool IsWordWrapGlyphMarginVisible { get; }

Property Value

bool:

true if the word wrap glyph margin is visible; otherwise, false. The default value is false.

LineNumberMarginBackground

The Brush to use when rendering the line number margin background.

public Brush? LineNumberMarginBackground { get; set; }

Property Value

Brush

LineNumberMarginCurrentLineBackground

The Brush to use when rendering the line number margin background for the current line.

public Brush? LineNumberMarginCurrentLineBackground { get; set; }

Property Value

Brush

LineNumberMarginCurrentLineForeground

The Brush to use when rendering line number margin text for the current line.

public Brush? LineNumberMarginCurrentLineForeground { get; set; }

Property Value

Brush

LineNumberMarginFontFamily

The FontFamily to use when rendering line number margin text.

public FontFamily? LineNumberMarginFontFamily { get; set; }

Property Value

FontFamily:

The FontFamily to use when rendering line number margin text. The default value is null value, meaning use the same font family as the text area.

LineNumberMarginFontSize

The font size to use when rendering line number margin text.

[TypeConverter(typeof(FontSizeConverter))]
public double LineNumberMarginFontSize { get; set; }

Property Value

double:

The default value is 0, meaning us the same font size as the text area.

LineNumberMarginForeground

The Brush to use when rendering line number margin text.

public Brush? LineNumberMarginForeground { get; set; }

Property Value

Brush

MacroRecording

The IMacroRecording that manages macro recording and playback functionality.

public IMacroRecording MacroRecording { get; }

Property Value

IMacroRecording

MaxIntelliPromptZoomLevel

A percentage value indicating the maximum zoom level of IntelliPrompt content when the ZoomLevel property is changed.

public double MaxIntelliPromptZoomLevel { get; set; }

Property Value

double:

The default value is 3.0, meaning 300%.

Remarks

Ensure the ZoomModesAllowed property is set to an option that supports zooming.

See Also

MaxZoomLevel

A percentage value indicating the maximum zoom level of editor view content.

public double MaxZoomLevel { get; set; }

Property Value

double:

The default value is 3.0, meaning 300%.

Remarks

Ensure the ZoomModesAllowed property is set to an option that supports zooming.

See Also

MinIntelliPromptZoomLevel

A percentage value indicating the minimum zoom level of IntelliPrompt content when the ZoomLevel property is changed.

public double MinIntelliPromptZoomLevel { get; set; }

Property Value

double:

The default value is 1.0, meaning 100%.

Remarks

Ensure the ZoomModesAllowed property is set to an option that supports zooming.

See Also

MinZoomLevel

A percentage value indicating the minimum zoom level of editor view content.

public double MinZoomLevel { get; set; }

Property Value

double:

The default value is 0.5, meaning 50%.

Remarks

Ensure the ZoomModesAllowed property is set to an option that supports zooming.

See Also

OutliningMarginBackground

The Brush to use when rendering the outlining margin background.

public Brush? OutliningMarginBackground { get; set; }

Property Value

Brush

PrintSettings

The IPrintSettings that provides access to all printing functionality.

public IPrintSettings? PrintSettings { get; set; }

Property Value

IPrintSettings

RulerMarginBackground

The Brush to use when rendering the ruler margin background.

public Brush? RulerMarginBackground { get; set; }

Property Value

Brush

RulerMarginForeground

The Brush to use when rendering the ruler margin foreground.

public Brush? RulerMarginForeground { get; set; }

Property Value

Brush

ScrollBarAccelerationInterval

The TimeSpan that indicates the amount of time it takes to increase the number of ScrollBar units scrolled per small change during ScrollBar acceleration.

public TimeSpan ScrollBarAccelerationInterval { get; set; }

Property Value

TimeSpan:

The default value is 3 seconds.

Remarks

ScrollBar acceleration kicks in when holding down one of the ScrollBar controls' small change buttons. At each interval specified by ScrollBarAccelerationInterval, the number of units scrolled with each small change increases by 1 until ScrollBarAccelerationMaximum is reached. This enables you to more quickly scroll large distances through documents.

For example, with the default settings, holding the vertical ScrollBar's down button will start scrolling down 1 line at a time. 3 seconds later, it will increase to 2 lines at a time. 3 seconds later, it will increase to 3 lines at a time. 3 seconds later, it will increase to 4 lines at a time and will no longer increase the lines scrolled per small change. Once the down button is released, everything resets back and acceleration is available for the next scroll operation.

See Also

ScrollBarAccelerationMaximum

A value between 1 and 10 that indicates the maximum number of ScrollBar units that are scrolled during peak ScrollBar acceleration.

public int ScrollBarAccelerationMaximum { get; set; }

Property Value

int:

Set to 1, the minimum, to disable acceleration. The default value is 4.

Remarks

ScrollBar acceleration kicks in when holding down one of the ScrollBar controls' small change buttons. At each interval specified by ScrollBarAccelerationInterval, the number of units scrolled with each small change increases by 1 until ScrollBarAccelerationMaximum is reached. This enables you to more quickly scroll large distances through documents.

For example, with the default settings, holding the vertical ScrollBar's down button will start scrolling down 1 line at a time. 3 seconds later, it will increase to 2 lines at a time. 3 seconds later, it will increase to 3 lines at a time. 3 seconds later, it will increase to 4 lines at a time and will no longer increase the lines scrolled per small change. Once the down button is released, everything resets back and acceleration is available for the next scroll operation.

See Also

ScrollBarTrayBottomTemplate

The DataTemplate containing controls that are displayed under the vertical ScrollBar in an IEditorView.

public DataTemplate? ScrollBarTrayBottomTemplate { get; set; }

Property Value

DataTemplate

ScrollBarTrayLeftTemplate

The DataTemplate containing controls that are displayed left of the horizontal ScrollBar in an IEditorView.

public DataTemplate? ScrollBarTrayLeftTemplate { get; set; }

Property Value

DataTemplate

ScrollBarTrayRightTemplate

The DataTemplate containing controls that are displayed right of the horizontal ScrollBar in an IEditorView.

public DataTemplate? ScrollBarTrayRightTemplate { get; set; }

Property Value

DataTemplate

ScrollBarTrayTopTemplate

The DataTemplate containing controls that are displayed above the vertical ScrollBar in an IEditorView.

public DataTemplate? ScrollBarTrayTopTemplate { get; set; }

Property Value

DataTemplate

ScrollToCaretOnSelectAll

Indicates whether to scroll to the caret when selecting all text in a view.

public bool ScrollToCaretOnSelectAll { get; set; }

Property Value

bool:

true if a view should scroll to the caret when selecting all its text; otherwise, false. The default value is true.

SearchOptions

The IEditorSearchOptions to use when searching within the editor with the search overlay pane.

public IEditorSearchOptions SearchOptions { get; set; }

Property Value

IEditorSearchOptions

Remarks

This property defaults to using the static Default property value.

SelectedTextBackground

The Brush to use when rendering the active selection background.

public Brush? SelectedTextBackground { get; set; }

Property Value

Brush

SelectionCollapsesOnCopy

Indicates whether the selection collapses when a copy operation occurs.

public bool SelectionCollapsesOnCopy { get; set; }

Property Value

bool:

true if the selection collapses when a copy operation occurs; otherwise, false. The default value is false.

SelectionCollapsesToAnchor

Indicates whether the selection collapses to the anchor of the selection.

public bool SelectionCollapsesToAnchor { get; set; }

Property Value

bool:

true if the selection collapses to the anchor of the selection; otherwise, false. The default value is false.

SelectionMarginBackground

The Brush to use when rendering the selection margin background.

public Brush? SelectionMarginBackground { get; set; }

Property Value

Brush

SelectionModesAllowed

A SelectionModes value indicating the selection modes that are allowed within the editor.

public SelectionModes SelectionModesAllowed { get; set; }

Property Value

SelectionModes:

The default value is Block and ContinuousStream.

Text

The complete document text within the editor.
This property is created specifically for data binding, and be sure to see the remarks for important configuration and performance information.

public string Text { get; set; }

Property Value

string

Remarks

Every time the getter of this property is called, the text of the document is reconstructed. Every call to the setter, sets the complete document text. Therefore many calls to this property can be a performance bottleneck.

Data binding is off by default on the Text property for two reasons. First, supporting the Text dependency property means that two full copies of the document text are stored in memory instead of one, which can increase memory a lot for large documents. Second, the full text must be set to the dependency property after each text change, meaning performance could suffer depending on the size of the document.

Data binding can be enabled by setting the IsTextDataBindingEnabled property to true. It is recommended to only set IsTextDataBindingEnabled to true when data binding is required, and note that the IsTextDataBindingEnabled property must be set before creating a binding on the Text property.

When IsTextDataBindingEnabled is false, the TextProperty dependency property is not used and text is get/set directly from the document.

To properly get text substrings from the document, get the current ITextSnapshot from ITextDocument.CurrentSnapshot and use the GetSubstring(int, int, LineTerminator?) method. Likewise, to determine document length, use the ITextSnapshot.Length property.

Programmatic document updates should be performed using methods on ITextDocument.

TextAreaFontSize

The font size to use in the editor's text area only.

public double TextAreaFontSize { get; set; }

Property Value

double:

The default value is 0.0, meaning use the value of the FontSize property.

Remarks

The FontSize property will also affect IntelliPrompt popups and overlay panes. Use this text area font size property if you wish to keep those user interface pieces the normal font size and wish to only update the default text area font size.

VerticalScrollBarVisibility

The ScrollBarVisibility that specifies the visibility of the vertical ScrollBar.

public ScrollBarVisibility VerticalScrollBarVisibility { get; set; }

Property Value

ScrollBarVisibility:

The default value is Visible.

Remarks

Visible and Auto always show the ScrollBar. Hidden and Disabled always hide the ScrollBar.

ViewMarginFactories

The collection that contains the IEditorViewMarginFactory objects used to generate the margins for an IEditorView.

public IEditorViewMarginFactoryCollection ViewMarginFactories { get; }

Property Value

IEditorViewMarginFactoryCollection:

The default collection contains an instance of DefaultEditorViewMarginFactory.

VisibleWhitespaceForeground

The Brush to use when rendering visible whitespace.

public Brush? VisibleWhitespaceForeground { get; set; }

Property Value

Brush

WordWrapGlyphMarginBackground

The Brush to use when rendering the word wrap glyph margin background.

public Brush? WordWrapGlyphMarginBackground { get; set; }

Property Value

Brush

WordWrapGlyphMarginForeground

The Brush to use when rendering the word wrap glyph margin foreground.

public Brush? WordWrapGlyphMarginForeground { get; set; }

Property Value

Brush

WordWrapMode

A WordWrapMode value indicating the type of word wrapping that is performed.

public WordWrapMode WordWrapMode { get; set; }

Property Value

WordWrapMode:

The default value is None.

WrappedLineIndentAmount

The number of characters to indent any wrapped lines beyond the original indent level of the primary line.

public int WrappedLineIndentAmount { get; set; }

Property Value

int:

The default value is 2.

Remarks

A value of 2 will indent wrapped lines to the original indent level of the primary line, plus 2 additional character widths. A value of 0 will indent wrapped lines to the original indent level of the primary line. A value of -1 will not indent wrapped lines at all, and will simply align them to the left edge of the view. The indent amount may be limited or altogether disabled if there is not enough available width in the view to support proper indentation.

ZoomAnimationDuration

The duration in milliseconds to animate the scale from one zoom level to the next.

public double ZoomAnimationDuration { get; set; }

Property Value

double:

The default value is 200ms.

Remarks

Set to 0ms to disable zoom animation.

See Also

ZoomLevel

A percentage value indicating the zoom level of editor view content.

public double ZoomLevel { get; set; }

Property Value

double:

The default value is 1.0, meaning 100%.

See Also

ZoomLevelAnimated

A percentage value indicating the current animated zoom level of editor view content.

public double ZoomLevelAnimated { get; set; }

Property Value

double

Remarks

Never set this property directly. Use the ZoomLevel property instead.

See Also

ZoomLevelIncrement

The percentage increment by which the zoom level changes.

public double ZoomLevelIncrement { get; set; }

Property Value

double:

The default value is 0.25, meaning 25% increments.

Remarks

Ensure the ZoomModesAllowed property is set to an option that supports zooming.

See Also

ZoomModesAllowed

The ZoomModes that indicates the input modes by which zooming can occur.

public ZoomModes ZoomModesAllowed { get; set; }

Property Value

ZoomModes:

The default value is All.

Remarks

Zooming occurs at 0.25 (25%) increments so plan your MinZoomLevel and MaxZoomLevel settings in increments of 0.25 for best results.

See Also

Methods

CloseOverlayPanes(string?)

Closes open overlay panes with the optional key in all editor instances.

public static void CloseOverlayPanes(string? key)
Parameter Type Description
key string

The key of overlay panes to close, or null to close all panes.

See Also

CreateDefaultContextMenu(IEditorView?)

Creates the default menu.

protected virtual ContextMenu CreateDefaultContextMenu(IEditorView? targetView)
Parameter Type Description
targetView IEditorView

The optional target IEditorView. Pass null to use the active view.

Returns

ContextMenu:

The default menu to use.

CreateMacroRecording()

Creates the IMacroRecording object to use for this editor.

protected virtual IMacroRecording CreateMacroRecording()

Returns

IMacroRecording

GetView(EditorViewPlacement)

Returns the IEditorView for the specified location.

public IEditorView? GetView(EditorViewPlacement viewPlacement)
Parameter Type Description
viewPlacement EditorViewPlacement

The EditorViewPlacement to check.

Returns

IEditorView:

The IEditorView for the specified location.

HitTest(Point)

Performs a hit test of the specified System.Windows.Point within the editor and returns detailed results in an IHitTestResult.

public IHitTestResult HitTest(Point point)
Parameter Type Description
point Point

The System.Windows.Point to hit test, relative to the editor's coordinates.

Returns

IHitTestResult

InvalidateViews()

Invalidates the views and redraws them.

public void InvalidateViews()

IsSelectionModeAllowed(SelectionModes)

Indicates whether the specified SelectionModes value is allowed.

public bool IsSelectionModeAllowed(SelectionModes mode)
Parameter Type Description
mode SelectionModes

A SelectionModes indicating the value to check.

Returns

bool:

true if the specified SelectionModes value is allowed; otherwise, false.

OnActiveViewChanged(EditorViewChangedEventArgs)

Occurs after the ActiveView property is changed.

protected virtual void OnActiveViewChanged(EditorViewChangedEventArgs e)
Parameter Type Description
e EditorViewChangedEventArgs

The event data.

OnApplyTemplate()

When overridden in a derived class, is invoked whenever application code or internal processes call ApplyTemplate().

public override void OnApplyTemplate()

OnAreWordWrapGlyphsVisiblePropertyChanged(bool, bool)

Occurs when the AreWordWrapGlyphsVisible property is changed.

protected virtual void OnAreWordWrapGlyphsVisiblePropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnCanSplitHorizontallyPropertyChanged(bool, bool)

Occurs when the CanSplitHorizontally property is changed.

protected virtual void OnCanSplitHorizontallyPropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnColumnGuidesPropertyChanged(IColumnGuideCollection?, IColumnGuideCollection?)

Occurs when the ColumnGuides property is changed.

protected virtual void OnColumnGuidesPropertyChanged(IColumnGuideCollection? oldValue, IColumnGuideCollection? newValue)
Parameter Type Description
oldValue IColumnGuideCollection

The old value.

newValue IColumnGuideCollection

The new value.

OnContextMenuOpening(ContextMenuEventArgs)

Invoked whenever an unhandled ContextMenuOpening routed event reaches this class in its route. Implement this method to add class handling for this event.

protected override void OnContextMenuOpening(ContextMenuEventArgs e)
Parameter Type Description
e ContextMenuEventArgs

The RoutedEventArgs that contains the event data.

OnCreateAutomationPeer()

Returns class-specific AutomationPeer implementations for the Windows Presentation Foundation (WPF) infrastructure.

protected override AutomationPeer OnCreateAutomationPeer()

Returns

AutomationPeer:

The type-specific AutomationPeer implementation.

OnCutCopyDrag(CutCopyDragEventArgs)

Occurs before text is cut or copied to the clipboard, and also before a drag occurs.

protected virtual void OnCutCopyDrag(CutCopyDragEventArgs e)
Parameter Type Description
e CutCopyDragEventArgs

The event data.

OnDocumentChanged(EditorDocumentChangedEventArgs)

Occurs after the Document property is changed.

protected virtual void OnDocumentChanged(EditorDocumentChangedEventArgs e)
Parameter Type Description
e EditorDocumentChangedEventArgs

The event data.

OnDocumentIsModifiedChanged(RoutedEventArgs)

Occurs after the current document's IsModified property value has changed.

protected virtual void OnDocumentIsModifiedChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnDocumentIsReadOnlyChanged(RoutedEventArgs)

Occurs after the current document's IsReadOnly property value has changed.

protected virtual void OnDocumentIsReadOnlyChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnDocumentLanguageChanged(EditorDocumentLanguageChangedEventArgs)

Occurs when the current document's Language property value has changed.

protected virtual void OnDocumentLanguageChanged(EditorDocumentLanguageChangedEventArgs e)
Parameter Type Description
e EditorDocumentLanguageChangedEventArgs

The event data.

OnDocumentParseDataChanged(RoutedEventArgs)

Occurs after the current document's ParseData property value has changed.

protected virtual void OnDocumentParseDataChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnDocumentPropertyChanged(IEditorDocument?, IEditorDocument?)

Occurs when the Document property is changed.

protected virtual void OnDocumentPropertyChanged(IEditorDocument? oldValue, IEditorDocument? newValue)
Parameter Type Description
oldValue IEditorDocument

The old value.

newValue IEditorDocument

The new value.

OnDocumentTextChanged(EditorSnapshotChangedEventArgs)

Occurs after a text change occurs to the Document.

protected virtual void OnDocumentTextChanged(EditorSnapshotChangedEventArgs e)
Parameter Type Description
e EditorSnapshotChangedEventArgs

The event data.

OnDocumentTextChanging(EditorSnapshotChangingEventArgs)

Occurs before a text change occurs to the Document.

protected virtual void OnDocumentTextChanging(EditorSnapshotChangingEventArgs e)
Parameter Type Description
e EditorSnapshotChangingEventArgs

The event data.

OnGotKeyboardFocus(KeyboardFocusChangedEventArgs)

Invoked when an unhandled System.Windows.Input.Keyboard.GotKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
Parameter Type Description
e KeyboardFocusChangedEventArgs

The KeyboardFocusChangedEventArgs that contains the event data.

OnHasHorizontalSplitPropertyChanged(bool, bool)

Occurs when the HasHorizontalSplit property is changed.

protected virtual void OnHasHorizontalSplitPropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnHasSearchOverlayPaneKeyBindingsPropertyChanged(bool, bool)

Occurs when the HasSearchOverlayPaneKeyBindings property is changed.

protected virtual void OnHasSearchOverlayPaneKeyBindingsPropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnHighlightingStyleRegistryPropertyChanged(IHighlightingStyleRegistry?, IHighlightingStyleRegistry?)

Occurs when the HighlightingStyleRegistry property is changed.

protected virtual void OnHighlightingStyleRegistryPropertyChanged(IHighlightingStyleRegistry? oldValue, IHighlightingStyleRegistry? newValue)
Parameter Type Description
oldValue IHighlightingStyleRegistry

The old value.

newValue IHighlightingStyleRegistry

The new value.

OnHorizontalSplitPercentagePropertyChanged(double, double)

Occurs when the HasHorizontalSplit property is changed.

protected virtual void OnHorizontalSplitPercentagePropertyChanged(double oldValue, double newValue)
Parameter Type Description
oldValue double

The old value.

newValue double

The new value.

OnIsMultiLinePropertyChanged(bool, bool)

Occurs when the IsMultiLine property is changed.

protected virtual void OnIsMultiLinePropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnIsOverwriteModeActiveChanged(RoutedEventArgs)

Occurs when the IsOverwriteModeActive property value changes.

protected virtual void OnIsOverwriteModeActiveChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnIsSearchResultHighlightingEnabledPropertyChanged(bool, bool)

Occurs when the IsSearchResultHighlightingEnabled property is changed.

protected virtual void OnIsSearchResultHighlightingEnabledPropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnIsVirtualSpaceAtLineEndEnabledPropertyChanged(bool, bool)

Occurs when the IsVirtualSpaceAtLineEndEnabled property is changed.

protected virtual void OnIsVirtualSpaceAtLineEndEnabledPropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnIsWordWrapEnabledPropertyChanged(bool, bool)

Occurs when the IsWordWrapEnabled property is changed.

protected virtual void OnIsWordWrapEnabledPropertyChanged(bool oldValue, bool newValue)
Parameter Type Description
oldValue bool

The old value.

newValue bool

The new value.

OnMacroRecordingStateChanged(RoutedEventArgs)

Occurs when the macro recording state changes.

protected virtual void OnMacroRecordingStateChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnMenuRequested(SyntaxEditorMenuEventArgs)

Occurs when a menu is requested, which will be opened in the editor.

protected virtual void OnMenuRequested(SyntaxEditorMenuEventArgs e)
Parameter Type Description
e SyntaxEditorMenuEventArgs

The event data.

OnOverlayPaneClosed(OverlayPaneEventArgs)

Occurs after an overlay pane is closed.

protected virtual void OnOverlayPaneClosed(OverlayPaneEventArgs e)
Parameter Type Description
e OverlayPaneEventArgs

The event data.

OnOverlayPaneOpened(OverlayPaneEventArgs)

Occurs after an overlay pane is opened.

protected virtual void OnOverlayPaneOpened(OverlayPaneEventArgs e)
Parameter Type Description
e OverlayPaneEventArgs

The event data.

OnPasteDragDrop(PasteDragDropEventArgs)

Occurs when a paste or drag/drop operation occurs over the control, allowing for customization of the text to be inserted.

protected virtual void OnPasteDragDrop(PasteDragDropEventArgs e)
Parameter Type Description
e PasteDragDropEventArgs

The event data.

Remarks

This event allows for any sort of IDataStore (such as a file) to be handled when pasted or drag/dropped on the editor and representative text inserted.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invoked whenever the effective value of any dependency property on this FrameworkElement has been updated. The specific dependency property that changed is reported in the arguments parameter. Overrides System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs).

protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
Parameter Type Description
e DependencyPropertyChangedEventArgs

The event data that describes the property that changed, as well as old and new values.

OnUserInterfaceUpdate(RoutedEventArgs)

Occurs after a brief delay following any document text, parse data, or view selection update, allowing consumers to update the user interface during an idle period.

protected virtual void OnUserInterfaceUpdate(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnViewActionExecuting(EditActionEventArgs)

Occurs before an IEditAction is executed in an IEditorView.

protected virtual void OnViewActionExecuting(EditActionEventArgs e)
Parameter Type Description
e EditActionEventArgs

The event data.

OnViewClosed(TextViewEventArgs)

Occurs when an ITextView is closed.

protected virtual void OnViewClosed(TextViewEventArgs e)
Parameter Type Description
e TextViewEventArgs

The event data.

OnViewIsIncrementalSearchActiveChanged(TextViewEventArgs)

Occurs when the incremental search mode of an ITextView is activated or deactivated.

protected virtual void OnViewIsIncrementalSearchActiveChanged(TextViewEventArgs e)
Parameter Type Description
e TextViewEventArgs

The event data.

OnViewOpened(TextViewEventArgs)

Occurs when an ITextView is opened.

protected virtual void OnViewOpened(TextViewEventArgs e)
Parameter Type Description
e TextViewEventArgs

The event data.

OnViewSearch(EditorViewSearchEventArgs)

Occurs when a IEditorView search operation is performed.

protected virtual void OnViewSearch(EditorViewSearchEventArgs e)
Parameter Type Description
e EditorViewSearchEventArgs

The event data.

OnViewSelectionChanged(EditorViewSelectionEventArgs)

Occurs when a IEditorView selection has changed.

protected virtual void OnViewSelectionChanged(EditorViewSelectionEventArgs e)
Parameter Type Description
e EditorViewSelectionEventArgs

The event data.

OnViewSplitAdded(RoutedEventArgs)

Occurs when an IEditorView split is added.

protected virtual void OnViewSplitAdded(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnViewSplitMoved(RoutedEventArgs)

Occurs when an IEditorView split is moved.

protected virtual void OnViewSplitMoved(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnViewSplitRemoved(RoutedEventArgs)

Occurs when an IEditorView split is removed.

protected virtual void OnViewSplitRemoved(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnWordWrapModeChanged(RoutedEventArgs)

Occurs after the WordWrapMode property is changed.

protected virtual void OnWordWrapModeChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

OnWordWrapModePropertyChanged(WordWrapMode, WordWrapMode)

Occurs when the WordWrapMode property is changed.

protected virtual void OnWordWrapModePropertyChanged(WordWrapMode oldValue, WordWrapMode newValue)
Parameter Type Description
oldValue WordWrapMode

The old value.

newValue WordWrapMode

The new value.

OnZoomLevelPropertyChanged(double, double)

Occurs when the ZoomLevel property is changed.

protected virtual void OnZoomLevelPropertyChanged(double oldValue, double newValue)
Parameter Type Description
oldValue double

The old value.

newValue double

The new value.

ResetCommandBindings()

Resets the CommandBindings property to its default value.

public virtual void ResetCommandBindings()

ResetInputBindings()

Resets the input bindings to their default values.

public virtual void ResetInputBindings()

ResetViews()

Resets the splits and creates an initial view.

public void ResetViews()

ResumeCaretBlinking()

Resumes the blinking of the caret(s).

public void ResumeCaretBlinking()

ShowPrintDialog()

Displays the print dialog.

public bool ShowPrintDialog()

Returns

bool:

true if the dialog was displayed successfully and printing occurred; otherwise, false.

ShowPrintPreviewDialog()

Displays the print preview dialog.

public bool ShowPrintPreviewDialog()

Returns

bool:

true if the dialog was displayed successfully; otherwise, false.

Remarks

This dialog requires full trust.

SuspendCaretBlinking(bool)

Suspends the blinking of the caret(s).

public void SuspendCaretBlinking(bool show)
Parameter Type Description
show bool

Whether to display the caret(s).

Events

ActiveViewChanged

Occurs after the ActiveView property is changed.

public event EventHandler<EditorViewChangedEventArgs>? ActiveViewChanged

Event Type

EventHandler<EditorViewChangedEventArgs>

CutCopyDrag

Occurs before text is cut or copied to the clipboard, and also before a drag occurs.

public event EventHandler<CutCopyDragEventArgs>? CutCopyDrag

Event Type

EventHandler<CutCopyDragEventArgs>

DocumentChanged

Occurs after the Document property is changed.

public event EventHandler<EditorDocumentChangedEventArgs>? DocumentChanged

Event Type

EventHandler<EditorDocumentChangedEventArgs>

DocumentIsModifiedChanged

Occurs after the current document's IsModified property value has changed.

public event RoutedEventHandler? DocumentIsModifiedChanged

Event Type

RoutedEventHandler

DocumentIsReadOnlyChanged

Occurs after the current document's IsReadOnly property value has changed.

public event RoutedEventHandler? DocumentIsReadOnlyChanged

Event Type

RoutedEventHandler

DocumentLanguageChanged

Occurs when the current document's Language property value has changed.

public event EventHandler<EditorDocumentLanguageChangedEventArgs>? DocumentLanguageChanged

Event Type

EventHandler<EditorDocumentLanguageChangedEventArgs>

DocumentParseDataChanged

Occurs after the current document's ParseData property value has changed.

public event RoutedEventHandler? DocumentParseDataChanged

Event Type

RoutedEventHandler

DocumentTextChanged

Occurs after a text change occurs to the Document.

public event EventHandler<EditorSnapshotChangedEventArgs>? DocumentTextChanged

Event Type

EventHandler<EditorSnapshotChangedEventArgs>

DocumentTextChanging

Occurs before a text change occurs to the Document.

public event EventHandler<EditorSnapshotChangingEventArgs>? DocumentTextChanging

Event Type

EventHandler<EditorSnapshotChangingEventArgs>

IsOverwriteModeActiveChanged

Occurs when the IsOverwriteModeActive property value changes.

public event RoutedEventHandler? IsOverwriteModeActiveChanged

Event Type

RoutedEventHandler

MacroRecordingStateChanged

Occurs when the macro recording state changes.

public event RoutedEventHandler? MacroRecordingStateChanged

Event Type

RoutedEventHandler

MenuRequested

Occurs when a menu is requested, which will be opened in the editor.

public event EventHandler<SyntaxEditorMenuEventArgs>? MenuRequested

Event Type

EventHandler<SyntaxEditorMenuEventArgs>

OverlayPaneClosed

Occurs after an overlay pane is closed.

public event EventHandler<OverlayPaneEventArgs>? OverlayPaneClosed

Event Type

EventHandler<OverlayPaneEventArgs>

OverlayPaneOpened

Occurs after an overlay pane is opened.

public event EventHandler<OverlayPaneEventArgs>? OverlayPaneOpened

Event Type

EventHandler<OverlayPaneEventArgs>

PasteDragDrop

Occurs when a paste or drag/drop operation occurs over the control, allowing for customization of the text to be inserted.

public event EventHandler<PasteDragDropEventArgs>? PasteDragDrop

Event Type

EventHandler<PasteDragDropEventArgs>

Remarks

This event allows for any sort of IDataStore (such as a file) to be handled when pasted or drag/dropped on the editor and representative text inserted.

UserInterfaceUpdate

Occurs after a brief delay following any document text, parse data, or view selection update, allowing consumers to update the user interface during an idle period.

public event RoutedEventHandler? UserInterfaceUpdate

Event Type

RoutedEventHandler

ViewActionExecuting

Occurs before an IEditAction is executed in an IEditorView.

public event EventHandler<EditActionEventArgs>? ViewActionExecuting

Event Type

EventHandler<EditActionEventArgs>

ViewClosed

Occurs when an ITextView is closed.

public event EventHandler<TextViewEventArgs>? ViewClosed

Event Type

EventHandler<TextViewEventArgs>

ViewIsIncrementalSearchActiveChanged

Occurs when the incremental search mode of an ITextView is activated or deactivated.

public event EventHandler<TextViewEventArgs>? ViewIsIncrementalSearchActiveChanged

Event Type

EventHandler<TextViewEventArgs>

ViewOpened

Occurs when an ITextView is opened.

public event EventHandler<TextViewEventArgs>? ViewOpened

Event Type

EventHandler<TextViewEventArgs>

ViewSearch

Occurs when a IEditorView search operation is performed.

public event EventHandler<EditorViewSearchEventArgs>? ViewSearch

Event Type

EventHandler<EditorViewSearchEventArgs>

ViewSelectionChanged

Occurs when a IEditorView selection has changed.

public event EventHandler<EditorViewSelectionEventArgs>? ViewSelectionChanged

Event Type

EventHandler<EditorViewSelectionEventArgs>

ViewSplitAdded

Occurs when an IEditorView split is added.

public event RoutedEventHandler? ViewSplitAdded

Event Type

RoutedEventHandler

ViewSplitMoved

Occurs when an IEditorView split is moved.

public event RoutedEventHandler? ViewSplitMoved

Event Type

RoutedEventHandler

ViewSplitRemoved

Occurs when an IEditorView split is removed.

public event RoutedEventHandler? ViewSplitRemoved

Event Type

RoutedEventHandler

WordWrapModeChanged

Occurs after the WordWrapMode property is changed.

public event RoutedEventHandler? WordWrapModeChanged

Event Type

RoutedEventHandler

Fields

AcceptsTabProperty

Defines the AcceptsTab property.

public static readonly DependencyProperty AcceptsTabProperty

ActiveViewChangedEvent

Defines the ActiveViewChanged event.

public static readonly RoutedEvent ActiveViewChangedEvent

ActiveViewProperty

Defines the ActiveView property.

public static readonly DependencyProperty ActiveViewProperty

AllowDragProperty

Defines the AllowDrag property.

public static readonly DependencyProperty AllowDragProperty

AreColumnGuidesVisibleProperty

Defines the AreColumnGuidesVisible property.

public static readonly DependencyProperty AreColumnGuidesVisibleProperty

AreIndentationGuidesVisibleProperty

Defines the AreIndentationGuidesVisible property.

public static readonly DependencyProperty AreIndentationGuidesVisibleProperty

AreLineModificationMarksVisibleProperty

Defines the AreLineModificationMarksVisible property.

public static readonly DependencyProperty AreLineModificationMarksVisibleProperty

AreMultipleSelectionRangesEnabledProperty

Defines the AreMultipleSelectionRangesEnabled property.

public static readonly DependencyProperty AreMultipleSelectionRangesEnabledProperty

AreSelectionGrippersEnabledProperty

Defines the AreSelectionGrippersEnabled property.

public static readonly DependencyProperty AreSelectionGrippersEnabledProperty

AreWordWrapGlyphsVisibleProperty

Defines the AreWordWrapGlyphsVisible property.

public static readonly DependencyProperty AreWordWrapGlyphsVisibleProperty

CanBackspaceOverSpacesToTabStopProperty

Defines the CanBackspaceOverSpacesToTabStop property.

public static readonly DependencyProperty CanBackspaceOverSpacesToTabStopProperty

CanCutCopyBlankLineWhenNoSelectionProperty

Defines the CanCutCopyBlankLineWhenNoSelection property.

public static readonly DependencyProperty CanCutCopyBlankLineWhenNoSelectionProperty

CanCutCopyDragWithHtmlProperty

Defines the CanCutCopyDragWithHtml property.

public static readonly DependencyProperty CanCutCopyDragWithHtmlProperty

CanCutCopyDragWithRtfProperty

Defines the CanCutCopyDragWithRtf property.

public static readonly DependencyProperty CanCutCopyDragWithRtfProperty

CanIncrementalSearchTrimUnmatchedFindTextProperty

public static readonly DependencyProperty CanIncrementalSearchTrimUnmatchedFindTextProperty

CanMoveCaretForSecondaryPointerButtonProperty

public static readonly DependencyProperty CanMoveCaretForSecondaryPointerButtonProperty

CanMoveCaretToNextLineAtLineEndProperty

Defines the CanMoveCaretToNextLineAtLineEnd property.

public static readonly DependencyProperty CanMoveCaretToNextLineAtLineEndProperty

CanMoveCaretToPreviousLineAtLineStartProperty

public static readonly DependencyProperty CanMoveCaretToPreviousLineAtLineStartProperty

CanPointerWheelScrollUnfocusedViewsProperty

public static readonly DependencyProperty CanPointerWheelScrollUnfocusedViewsProperty

CanScrollPastDocumentEndProperty

Defines the CanScrollPastDocumentEnd property.

public static readonly DependencyProperty CanScrollPastDocumentEndProperty

CanSplitHorizontallyProperty

Defines the CanSplitHorizontally property.

public static readonly DependencyProperty CanSplitHorizontallyProperty

CaretBlinkIntervalProperty

Defines the CaretBlinkInterval property.

public static readonly DependencyProperty CaretBlinkIntervalProperty

CaretBrushProperty

Defines the CaretBrush property.

public static readonly DependencyProperty CaretBrushProperty

CaretInsertKindProperty

Defines the CaretInsertKind property.

public static readonly DependencyProperty CaretInsertKindProperty

CaretInsertWidthProperty

Defines the CaretInsertWidth property.

public static readonly DependencyProperty CaretInsertWidthProperty

CaretOverwriteKindProperty

Defines the CaretOverwriteKind property.

public static readonly DependencyProperty CaretOverwriteKindProperty

CaretOverwriteWidthProperty

Defines the CaretOverwriteWidth property.

public static readonly DependencyProperty CaretOverwriteWidthProperty

ColumnGuidesProperty

Defines the ColumnGuides property.

public static readonly DependencyProperty ColumnGuidesProperty

CutCopyDragEvent

Defines the CutCopyDrag event.

public static readonly RoutedEvent CutCopyDragEvent

DocumentChangedEvent

Defines the DocumentChanged event.

public static readonly RoutedEvent DocumentChangedEvent

DocumentIsModifiedChangedEvent

Defines the DocumentIsModifiedChanged event.

public static readonly RoutedEvent DocumentIsModifiedChangedEvent

DocumentIsReadOnlyChangedEvent

Defines the DocumentIsReadOnlyChanged event.

public static readonly RoutedEvent DocumentIsReadOnlyChangedEvent

DocumentLanguageChangedEvent

Defines the DocumentLanguageChanged event.

public static readonly RoutedEvent DocumentLanguageChangedEvent

DocumentParseDataChangedEvent

Defines the DocumentParseDataChanged event.

public static readonly RoutedEvent DocumentParseDataChangedEvent

DocumentProperty

Defines the Document property.

public static readonly DependencyProperty DocumentProperty

DocumentTextChangedEvent

Defines the DocumentTextChanged event.

public static readonly RoutedEvent DocumentTextChangedEvent

DocumentTextChangingEvent

Defines the DocumentTextChanging event.

public static readonly RoutedEvent DocumentTextChangingEvent

HasHorizontalSplitProperty

Defines the HasHorizontalSplit property.

public static readonly DependencyProperty HasHorizontalSplitProperty

HasSearchOverlayPaneKeyBindingsProperty

Defines the HasSearchOverlayPaneKeyBindings property.

public static readonly DependencyProperty HasSearchOverlayPaneKeyBindingsProperty

HighlightingStyleRegistryProperty

Defines the HighlightingStyleRegistry property.

public static readonly DependencyProperty HighlightingStyleRegistryProperty

HorizontalScrollBarVisibilityProperty

Defines the HorizontalScrollBarVisibility property.

public static readonly DependencyProperty HorizontalScrollBarVisibilityProperty

HorizontalSplitPercentageProperty

Defines the HorizontalSplitPercentage property.

public static readonly DependencyProperty HorizontalSplitPercentageProperty

InactiveSelectedTextBackgroundProperty

Defines the InactiveSelectedTextBackground property.

public static readonly DependencyProperty InactiveSelectedTextBackgroundProperty

IndicatorMarginBackgroundProperty

Defines the IndicatorMarginBackground property.

public static readonly DependencyProperty IndicatorMarginBackgroundProperty

IsAutoCorrectEnabledProperty

Defines the IsAutoCorrectEnabled property.

public static readonly DependencyProperty IsAutoCorrectEnabledProperty

IsCollapsibleRegionHighlightingEnabledProperty

public static readonly DependencyProperty IsCollapsibleRegionHighlightingEnabledProperty

IsCurrentLineHighlightingEnabledProperty

Defines the IsCurrentLineHighlightingEnabled property.

public static readonly DependencyProperty IsCurrentLineHighlightingEnabledProperty

IsCurrentLineNumberHighlightingEnabledProperty

public static readonly DependencyProperty IsCurrentLineNumberHighlightingEnabledProperty

IsDefaultContextMenuEnabledProperty

Defines the IsDefaultContextMenuEnabled property.

public static readonly DependencyProperty IsDefaultContextMenuEnabledProperty

IsDelimiterAutoCompleteEnabledProperty

Defines the IsDelimiterAutoCompleteEnabled property.

public static readonly DependencyProperty IsDelimiterAutoCompleteEnabledProperty

IsDelimiterHighlightingEnabledProperty

Defines the IsDelimiterHighlightingEnabled property.

public static readonly DependencyProperty IsDelimiterHighlightingEnabledProperty

IsDocumentReadOnlyProperty

Defines the IsDocumentReadOnly property.

public static readonly DependencyProperty IsDocumentReadOnlyProperty

IsDragDropTextReselectEnabledProperty

Defines the IsDragDropTextReselectEnabled property.

public static readonly DependencyProperty IsDragDropTextReselectEnabledProperty

IsImeEnabledProperty

Defines the IsImeEnabled property.

public static readonly DependencyProperty IsImeEnabledProperty

IsIndicatorMarginVisibleProperty

Defines the IsIndicatorMarginVisible property.

public static readonly DependencyProperty IsIndicatorMarginVisibleProperty

IsLineNumberMarginVisibleProperty

Defines the IsLineNumberMarginVisible property.

public static readonly DependencyProperty IsLineNumberMarginVisibleProperty

IsMultiLineProperty

Defines the IsMultiLine property.

public static readonly DependencyProperty IsMultiLineProperty

IsOutliningMarginVisibleProperty

Defines the IsOutliningMarginVisible property.

public static readonly DependencyProperty IsOutliningMarginVisibleProperty

IsOverwriteModeActiveChangedEvent

Defines the IsOverwriteModeActiveChanged event.

public static readonly RoutedEvent IsOverwriteModeActiveChangedEvent

IsOverwriteModeActiveProperty

Defines the IsOverwriteModeActive property.

public static readonly DependencyProperty IsOverwriteModeActiveProperty

IsRulerMarginVisibleProperty

Defines the IsRulerMarginVisible property.

public static readonly DependencyProperty IsRulerMarginVisibleProperty

IsSearchResultHighlightingEnabledProperty

Defines the IsSearchResultHighlightingEnabled property.

public static readonly DependencyProperty IsSearchResultHighlightingEnabledProperty

IsSelectionMarginVisibleProperty

Defines the IsSelectionMarginVisible property.

public static readonly DependencyProperty IsSelectionMarginVisibleProperty

IsTextDataBindingEnabledProperty

Defines the IsTextDataBindingEnabled property.

public static readonly DependencyProperty IsTextDataBindingEnabledProperty

IsViewLineMeasureEnabledProperty

Defines the IsViewLineMeasureEnabled property.

public static readonly DependencyProperty IsViewLineMeasureEnabledProperty

IsVirtualSpaceAtLineEndEnabledProperty

Defines the IsVirtualSpaceAtLineEndEnabled property.

public static readonly DependencyProperty IsVirtualSpaceAtLineEndEnabledProperty

IsWhitespaceVisibleProperty

Defines the IsWhitespaceVisible property.

public static readonly DependencyProperty IsWhitespaceVisibleProperty

IsWordWrapEnabledProperty

Defines the IsWordWrapEnabled property.

public static readonly DependencyProperty IsWordWrapEnabledProperty

IsWordWrapGlyphMarginVisibleProperty

Defines the IsWordWrapGlyphMarginVisible property.

public static readonly DependencyProperty IsWordWrapGlyphMarginVisibleProperty

LineNumberMarginBackgroundProperty

Defines the LineNumberMarginBackground property.

public static readonly DependencyProperty LineNumberMarginBackgroundProperty

LineNumberMarginCurrentLineBackgroundProperty

public static readonly DependencyProperty LineNumberMarginCurrentLineBackgroundProperty

LineNumberMarginCurrentLineForegroundProperty

public static readonly DependencyProperty LineNumberMarginCurrentLineForegroundProperty

LineNumberMarginFontFamilyProperty

Defines the LineNumberMarginFontFamily property.

public static readonly DependencyProperty LineNumberMarginFontFamilyProperty

LineNumberMarginFontSizeProperty

Defines the LineNumberMarginFontSize property.

public static readonly DependencyProperty LineNumberMarginFontSizeProperty

LineNumberMarginForegroundProperty

Defines the LineNumberMarginForeground property.

public static readonly DependencyProperty LineNumberMarginForegroundProperty

MacroRecordingStateChangedEvent

Defines the MacroRecordingStateChanged event.

public static readonly RoutedEvent MacroRecordingStateChangedEvent

MaxIntelliPromptZoomLevelProperty

Defines the MaxIntelliPromptZoomLevel property.

public static readonly DependencyProperty MaxIntelliPromptZoomLevelProperty

MaxZoomLevelProperty

Defines the MaxZoomLevel property.

public static readonly DependencyProperty MaxZoomLevelProperty

MenuRequestedEvent

Defines the MenuRequested event.

public static readonly RoutedEvent MenuRequestedEvent

MinIntelliPromptZoomLevelProperty

Defines the MinIntelliPromptZoomLevel property.

public static readonly DependencyProperty MinIntelliPromptZoomLevelProperty

MinZoomLevelProperty

Defines the MinZoomLevel property.

public static readonly DependencyProperty MinZoomLevelProperty

OutliningMarginBackgroundProperty

Defines the OutliningMarginBackground property.

public static readonly DependencyProperty OutliningMarginBackgroundProperty

OverlayPaneClosedEvent

Defines the OverlayPaneClosed event.

public static readonly RoutedEvent OverlayPaneClosedEvent

OverlayPaneOpenedEvent

Defines the OverlayPaneOpened event.

public static readonly RoutedEvent OverlayPaneOpenedEvent

PasteDragDropEvent

Defines the PasteDragDrop event.

public static readonly RoutedEvent PasteDragDropEvent

PrintSettingsProperty

Defines the PrintSettings property.

public static readonly DependencyProperty PrintSettingsProperty

RulerMarginBackgroundProperty

Defines the RulerMarginBackground property.

public static readonly DependencyProperty RulerMarginBackgroundProperty

RulerMarginForegroundProperty

Defines the RulerMarginForeground property.

public static readonly DependencyProperty RulerMarginForegroundProperty

ScrollBarAccelerationIntervalProperty

Defines the ScrollBarAccelerationInterval property.

public static readonly DependencyProperty ScrollBarAccelerationIntervalProperty

ScrollBarAccelerationMaximumProperty

Defines the ScrollBarAccelerationMaximum property.

public static readonly DependencyProperty ScrollBarAccelerationMaximumProperty

ScrollBarTrayBottomTemplateProperty

Defines the ScrollBarTrayBottomTemplate property.

public static readonly DependencyProperty ScrollBarTrayBottomTemplateProperty

ScrollBarTrayLeftTemplateProperty

Defines the ScrollBarTrayLeftTemplate property.

public static readonly DependencyProperty ScrollBarTrayLeftTemplateProperty

ScrollBarTrayRightTemplateProperty

Defines the ScrollBarTrayRightTemplate property.

public static readonly DependencyProperty ScrollBarTrayRightTemplateProperty

ScrollBarTrayTopTemplateProperty

Defines the ScrollBarTrayTopTemplate property.

public static readonly DependencyProperty ScrollBarTrayTopTemplateProperty

ScrollToCaretOnSelectAllProperty

Defines the ScrollToCaretOnSelectAll property.

public static readonly DependencyProperty ScrollToCaretOnSelectAllProperty

SearchOptionsProperty

Defines the SearchOptions property.

public static readonly DependencyProperty SearchOptionsProperty

SelectedTextBackgroundProperty

Defines the SelectedTextBackground property.

public static readonly DependencyProperty SelectedTextBackgroundProperty

SelectionCollapsesOnCopyProperty

Defines the SelectionCollapsesOnCopy property.

public static readonly DependencyProperty SelectionCollapsesOnCopyProperty

SelectionCollapsesToAnchorProperty

Defines the SelectionCollapsesToAnchor property.

public static readonly DependencyProperty SelectionCollapsesToAnchorProperty

SelectionMarginBackgroundProperty

Defines the SelectionMarginBackground property.

public static readonly DependencyProperty SelectionMarginBackgroundProperty

SelectionModesAllowedProperty

Defines the SelectionModesAllowed property.

public static readonly DependencyProperty SelectionModesAllowedProperty

TextAreaFontSizeProperty

Defines the TextAreaFontSize property.

public static readonly DependencyProperty TextAreaFontSizeProperty

TextProperty

Defines the Text property.

public static readonly DependencyProperty TextProperty

UserInterfaceUpdateEvent

Defines the UserInterfaceUpdate event.

public static readonly RoutedEvent UserInterfaceUpdateEvent

VerticalScrollBarVisibilityProperty

Defines the VerticalScrollBarVisibility property.

public static readonly DependencyProperty VerticalScrollBarVisibilityProperty

ViewActionExecutingEvent

Defines the ViewActionExecuting event.

public static readonly RoutedEvent ViewActionExecutingEvent

ViewClosedEvent

Defines the ViewClosed event.

public static readonly RoutedEvent ViewClosedEvent

ViewIsIncrementalSearchActiveChangedEvent

public static readonly RoutedEvent ViewIsIncrementalSearchActiveChangedEvent

ViewOpenedEvent

Defines the ViewOpened event.

public static readonly RoutedEvent ViewOpenedEvent

ViewSearchEvent

Defines the ViewSearch event.

public static readonly RoutedEvent ViewSearchEvent

ViewSelectionChangedEvent

Defines the ViewSelectionChanged event.

public static readonly RoutedEvent ViewSelectionChangedEvent

ViewSplitAddedEvent

Defines the ViewSplitAdded event.

public static readonly RoutedEvent ViewSplitAddedEvent

ViewSplitMovedEvent

Defines the ViewSplitMoved event.

public static readonly RoutedEvent ViewSplitMovedEvent

ViewSplitRemovedEvent

Defines the ViewSplitRemoved event.

public static readonly RoutedEvent ViewSplitRemovedEvent

VisibleWhitespaceForegroundProperty

Defines the VisibleWhitespaceForeground property.

public static readonly DependencyProperty VisibleWhitespaceForegroundProperty

WordWrapGlyphMarginBackgroundProperty

Defines the WordWrapGlyphMarginBackground property.

public static readonly DependencyProperty WordWrapGlyphMarginBackgroundProperty

WordWrapGlyphMarginForegroundProperty

Defines the WordWrapGlyphMarginForeground property.

public static readonly DependencyProperty WordWrapGlyphMarginForegroundProperty

WordWrapModeChangedEvent

Defines the WordWrapModeChanged event.

public static readonly RoutedEvent WordWrapModeChangedEvent

WordWrapModeProperty

Defines the WordWrapMode property.

public static readonly DependencyProperty WordWrapModeProperty

WrappedLineIndentAmountProperty

Defines the WrappedLineIndentAmount property.

public static readonly DependencyProperty WrappedLineIndentAmountProperty

ZoomAnimationDurationProperty

Defines the ZoomAnimationDuration property.

public static readonly DependencyProperty ZoomAnimationDurationProperty

ZoomLevelAnimatedProperty

Defines the ZoomLevelAnimated property.

public static readonly DependencyProperty ZoomLevelAnimatedProperty

ZoomLevelIncrementProperty

Defines the ZoomLevelIncrement property.

public static readonly DependencyProperty ZoomLevelIncrementProperty

ZoomLevelProperty

Defines the ZoomLevel property.

public static readonly DependencyProperty ZoomLevelProperty

ZoomModesAllowedProperty

Defines the ZoomModesAllowed property.

public static readonly DependencyProperty ZoomModesAllowedProperty

Extension Methods