C# Class ICSharpCode.AvalonEdit.Editing.TextArea

Control that wraps a TextView and adds support for user input and the caret.
Inheritance: System.Windows.Controls.Control, IScrollInfo, IWeakEventListener, ITextEditorComponent, IServiceProvider
Mostrar archivo Open project: gilgame/SEWorkbench Class Usage Examples

Public Properties

Property Type Description
DocumentProperty System.Windows.DependencyProperty
IndentationStrategyProperty System.Windows.DependencyProperty
OptionsProperty System.Windows.DependencyProperty
SelectionBorderProperty System.Windows.DependencyProperty
SelectionBrushProperty System.Windows.DependencyProperty
SelectionCornerRadiusProperty System.Windows.DependencyProperty
SelectionForegroundProperty System.Windows.DependencyProperty

Private Properties

Property Type Description
ApplyScrollInfo void
EnsureSelectionValid void
GetDeletableSegments ISegment[]
IScrollInfo System.Windows.Rect
IScrollInfo void
IScrollInfo void
IWeakEventListener bool
OnDocumentChanged void
OnDocumentChanged void
OnDocumentChanged void
OnDocumentChanging void
OnOptionsChanged void
OnOptionsChanged void
OnTextCopied void
OnUpdateFinished void
OnUpdateStarted void
RemoveSelectedText void
ReplaceSelectionWithNewLine void
ReplaceSelectionWithText void
RequestSelectionValidation void
TextArea System
leftMargins_CollectionChanged void

Public Methods

Method Description
AllowCaretOutsideSelection ( ) : IDisposable

Temporarily allows positioning the caret outside the selection. Dispose the returned IDisposable to revert the allowance.

The text area only forces the caret to be inside the selection when other events have finished running (using the dispatcher), so you don't have to use this method for temporarily positioning the caret in event handlers. This method is only necessary if you want to run the WPF dispatcher, e.g. if you perform a drag'n'drop operation.

ClearSelection ( ) : void

Clears the current selection.

GetService ( Type serviceType ) : object

Gets the requested service.

OnApplyTemplate ( ) : void
PerformTextInput ( System.Windows.Input.TextCompositionEventArgs e ) : void

Performs text input. This raises the TextEntering event, replaces the selection with the text, and then raises the TextEntered event.

PerformTextInput ( string text ) : void

Performs text input. This raises the TextEntering event, replaces the selection with the text, and then raises the TextEntered event.

PopStackedInputHandler ( ICSharpCode.AvalonEdit.Editing.TextAreaStackedInputHandler inputHandler ) : void

Pops the stacked input handler (and all input handlers above it). If inputHandler is not found in the currently stacked input handlers, or is null, this method does nothing.

PushStackedInputHandler ( ICSharpCode.AvalonEdit.Editing.TextAreaStackedInputHandler inputHandler ) : void

Pushes an input handler onto the list of stacked input handlers.

Protected Methods

Method Description
HitTestCore ( System.Windows.Media.PointHitTestParameters hitTestParameters ) : System.Windows.Media.HitTestResult
OnGotKeyboardFocus ( System.Windows.Input.KeyboardFocusChangedEventArgs e ) : void
OnKeyDown ( System.Windows.Input.KeyEventArgs e ) : void
OnKeyUp ( System.Windows.Input.KeyEventArgs e ) : void
OnLostKeyboardFocus ( System.Windows.Input.KeyboardFocusChangedEventArgs e ) : void
OnMouseDown ( System.Windows.Input.MouseButtonEventArgs e ) : void
OnOptionChanged ( PropertyChangedEventArgs e ) : void

Raises the OptionChanged event.

OnPreviewKeyDown ( System.Windows.Input.KeyEventArgs e ) : void
OnPreviewKeyUp ( System.Windows.Input.KeyEventArgs e ) : void
OnPropertyChanged ( System.Windows.DependencyPropertyChangedEventArgs e ) : void
OnTextEntered ( System.Windows.Input.TextCompositionEventArgs e ) : void

Raises the TextEntered event.

OnTextEntering ( System.Windows.Input.TextCompositionEventArgs e ) : void

Raises the TextEntering event.

OnTextInput ( System.Windows.Input.TextCompositionEventArgs e ) : void
ReceiveWeakEvent ( Type managerType, object sender, EventArgs e ) : bool
TextArea ( TextView textView ) : System

Creates a new TextArea instance.

Private Methods

Method Description
ApplyScrollInfo ( ) : void
EnsureSelectionValid ( ) : void

Code that updates only the caret but not the selection can cause confusion when keys like 'Delete' delete the (possibly invisible) selected text and not the text around the caret. So we'll ensure that the caret is inside the selection. (when the caret is not in the selection, we'll clear the selection) This method is invoked using the Dispatcher so that code may temporarily violate this rule (e.g. most 'extend selection' methods work by first setting the caret, then the selection), it's sufficient to fix it after any event handlers have run.

GetDeletableSegments ( ISegment segment ) : ISegment[]
IScrollInfo ( System visual, Rect rectangle ) : Rect
IScrollInfo ( ) : void
IScrollInfo ( double offset ) : void
IWeakEventListener ( Type managerType, object sender, EventArgs e ) : bool
OnDocumentChanged ( DependencyObject dp, System.Windows.DependencyPropertyChangedEventArgs e ) : void
OnDocumentChanged ( ICSharpCode.AvalonEdit.Document.DocumentChangeEventArgs e ) : void
OnDocumentChanged ( TextDocument oldValue, TextDocument newValue ) : void
OnDocumentChanging ( ) : void
OnOptionsChanged ( DependencyObject dp, System.Windows.DependencyPropertyChangedEventArgs e ) : void
OnOptionsChanged ( TextEditorOptions oldValue, TextEditorOptions newValue ) : void
OnTextCopied ( TextEventArgs e ) : void
OnUpdateFinished ( ) : void
OnUpdateStarted ( ) : void
RemoveSelectedText ( ) : void
ReplaceSelectionWithNewLine ( ) : void
ReplaceSelectionWithText ( string newText ) : void
RequestSelectionValidation ( ) : void
TextArea ( ) : System
leftMargins_CollectionChanged ( object sender, NotifyCollectionChangedEventArgs e ) : void

Method Details

AllowCaretOutsideSelection() public method

Temporarily allows positioning the caret outside the selection. Dispose the returned IDisposable to revert the allowance.
The text area only forces the caret to be inside the selection when other events have finished running (using the dispatcher), so you don't have to use this method for temporarily positioning the caret in event handlers. This method is only necessary if you want to run the WPF dispatcher, e.g. if you perform a drag'n'drop operation.
public AllowCaretOutsideSelection ( ) : IDisposable
return IDisposable

ClearSelection() public method

Clears the current selection.
public ClearSelection ( ) : void
return void

GetService() public method

Gets the requested service.
public GetService ( Type serviceType ) : object
serviceType System.Type
return object

HitTestCore() protected method

protected HitTestCore ( System.Windows.Media.PointHitTestParameters hitTestParameters ) : System.Windows.Media.HitTestResult
hitTestParameters System.Windows.Media.PointHitTestParameters
return System.Windows.Media.HitTestResult

OnApplyTemplate() public method

public OnApplyTemplate ( ) : void
return void

OnGotKeyboardFocus() protected method

protected OnGotKeyboardFocus ( System.Windows.Input.KeyboardFocusChangedEventArgs e ) : void
e System.Windows.Input.KeyboardFocusChangedEventArgs
return void

OnKeyDown() protected method

protected OnKeyDown ( System.Windows.Input.KeyEventArgs e ) : void
e System.Windows.Input.KeyEventArgs
return void

OnKeyUp() protected method

protected OnKeyUp ( System.Windows.Input.KeyEventArgs e ) : void
e System.Windows.Input.KeyEventArgs
return void

OnLostKeyboardFocus() protected method

protected OnLostKeyboardFocus ( System.Windows.Input.KeyboardFocusChangedEventArgs e ) : void
e System.Windows.Input.KeyboardFocusChangedEventArgs
return void

OnMouseDown() protected method

protected OnMouseDown ( System.Windows.Input.MouseButtonEventArgs e ) : void
e System.Windows.Input.MouseButtonEventArgs
return void

OnOptionChanged() protected method

Raises the OptionChanged event.
protected OnOptionChanged ( PropertyChangedEventArgs e ) : void
e System.ComponentModel.PropertyChangedEventArgs
return void

OnPreviewKeyDown() protected method

protected OnPreviewKeyDown ( System.Windows.Input.KeyEventArgs e ) : void
e System.Windows.Input.KeyEventArgs
return void

OnPreviewKeyUp() protected method

protected OnPreviewKeyUp ( System.Windows.Input.KeyEventArgs e ) : void
e System.Windows.Input.KeyEventArgs
return void

OnPropertyChanged() protected method

protected OnPropertyChanged ( System.Windows.DependencyPropertyChangedEventArgs e ) : void
e System.Windows.DependencyPropertyChangedEventArgs
return void

OnTextEntered() protected method

Raises the TextEntered event.
protected OnTextEntered ( System.Windows.Input.TextCompositionEventArgs e ) : void
e System.Windows.Input.TextCompositionEventArgs
return void

OnTextEntering() protected method

Raises the TextEntering event.
protected OnTextEntering ( System.Windows.Input.TextCompositionEventArgs e ) : void
e System.Windows.Input.TextCompositionEventArgs
return void

OnTextInput() protected method

protected OnTextInput ( System.Windows.Input.TextCompositionEventArgs e ) : void
e System.Windows.Input.TextCompositionEventArgs
return void

PerformTextInput() public method

Performs text input. This raises the TextEntering event, replaces the selection with the text, and then raises the TextEntered event.
public PerformTextInput ( System.Windows.Input.TextCompositionEventArgs e ) : void
e System.Windows.Input.TextCompositionEventArgs
return void

PerformTextInput() public method

Performs text input. This raises the TextEntering event, replaces the selection with the text, and then raises the TextEntered event.
public PerformTextInput ( string text ) : void
text string
return void

PopStackedInputHandler() public method

Pops the stacked input handler (and all input handlers above it). If inputHandler is not found in the currently stacked input handlers, or is null, this method does nothing.
public PopStackedInputHandler ( ICSharpCode.AvalonEdit.Editing.TextAreaStackedInputHandler inputHandler ) : void
inputHandler ICSharpCode.AvalonEdit.Editing.TextAreaStackedInputHandler
return void

PushStackedInputHandler() public method

Pushes an input handler onto the list of stacked input handlers.
public PushStackedInputHandler ( ICSharpCode.AvalonEdit.Editing.TextAreaStackedInputHandler inputHandler ) : void
inputHandler ICSharpCode.AvalonEdit.Editing.TextAreaStackedInputHandler
return void

ReceiveWeakEvent() protected method

protected ReceiveWeakEvent ( Type managerType, object sender, EventArgs e ) : bool
managerType System.Type
sender object
e System.EventArgs
return bool

TextArea() protected method

Creates a new TextArea instance.
protected TextArea ( TextView textView ) : System
textView TextView
return System

Property Details

DocumentProperty public_oe static_oe property

Document property.
public static DependencyProperty,System.Windows DocumentProperty
return System.Windows.DependencyProperty

IndentationStrategyProperty public_oe static_oe property

IndentationStrategy property.
public static DependencyProperty,System.Windows IndentationStrategyProperty
return System.Windows.DependencyProperty

OptionsProperty public_oe static_oe property

Options property.
public static DependencyProperty,System.Windows OptionsProperty
return System.Windows.DependencyProperty

SelectionBorderProperty public_oe static_oe property

The SelectionBorder property.
public static DependencyProperty,System.Windows SelectionBorderProperty
return System.Windows.DependencyProperty

SelectionBrushProperty public_oe static_oe property

The SelectionBrush property.
public static DependencyProperty,System.Windows SelectionBrushProperty
return System.Windows.DependencyProperty

SelectionCornerRadiusProperty public_oe static_oe property

The SelectionCornerRadius property.
public static DependencyProperty,System.Windows SelectionCornerRadiusProperty
return System.Windows.DependencyProperty

SelectionForegroundProperty public_oe static_oe property

The SelectionForeground property.
public static DependencyProperty,System.Windows SelectionForegroundProperty
return System.Windows.DependencyProperty