ClipboardOperations Class
Definition
Shared clipboard helpers used by both keyboard components and editor actions.
public class ClipboardOperations
Remarks
Copy / cut publish the current selection as a single Avalonia.Input.DataTransfer item
carrying both Avalonia.Input.DataFormat.Text (eager, via
Avalonia.Controls.Documents.Serialization.PlainText.PlainTextSerializer) and any rich format produced by the supplied
Avalonia.Controls.Documents.Serialization.IDocumentSerializers. Rich payloads use the deferred
DataTransferItem.Set overload that takes a callback so they only run when a
consumer actually requests the format.
Paste probes the clipboard via Avalonia.Controls.Documents.Primitives.Components.ClipboardOperations.TryGetSnapshotAsync(Avalonia.Input.Platform.IClipboard,System.Collections.Generic.IReadOnlyList{Avalonia.Controls.Documents.Serialization.IDocumentSerializer},System.Threading.CancellationToken) for the richest format the editor can deserialize; plain text is the fallback.
Methods
| Name | Description |
|---|---|
| CopyAsync (2 overloads) | No summary available. |
| CutAsync (2 overloads) | No summary available. |
| TryGetPlainTextSnapshotAsync | Probes the clipboard and returns a Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot that carries plain text only — no formatting, no metadata, no inline wrappers, no lists, no tables. Intended for the "Paste Without Formatting" (Ctrl+Shift+V) path. |
| TryGetSnapshotAsync | No summary available. |
CopyAsync overloads
CopyAsync Method
public System.Threading.Tasks.Task CopyAsync(Avalonia.Controls.TextSelection selection, Avalonia.Visual visual, System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer> richSerializers)
Parameters
selection Avalonia.Controls.TextSelection
visual Avalonia.Visual
richSerializers System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer>
Returns
System.Threading.Tasks.Task
CopyAsync Method
public System.Threading.Tasks.Task CopyAsync(Avalonia.Controls.TextSelection selection, Avalonia.Visual visual, System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer> richSerializers, System.Threading.CancellationToken cancellationToken)
Parameters
selection Avalonia.Controls.TextSelection
visual Avalonia.Visual
richSerializers System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer>
cancellationToken System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task
CutAsync overloads
CutAsync Method
public System.Threading.Tasks.Task CutAsync(Avalonia.Controls.TextSelection selection, Avalonia.Visual visual, System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer> richSerializers)
Parameters
selection Avalonia.Controls.TextSelection
visual Avalonia.Visual
richSerializers System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer>
Returns
System.Threading.Tasks.Task
CutAsync Method
public System.Threading.Tasks.Task CutAsync(Avalonia.Controls.TextSelection selection, Avalonia.Visual visual, System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer> richSerializers, System.Threading.CancellationToken cancellationToken)
Parameters
selection Avalonia.Controls.TextSelection
visual Avalonia.Visual
richSerializers System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer>
cancellationToken System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task
TryGetPlainTextSnapshotAsync Method
Probes the clipboard and returns a Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot that carries plain text only — no formatting, no metadata, no inline wrappers, no lists, no tables. Intended for the "Paste Without Formatting" (Ctrl+Shift+V) path.
public System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot> TryGetPlainTextSnapshotAsync(Avalonia.Input.Platform.IClipboard clipboard, System.Threading.CancellationToken cancellationToken)
Parameters
clipboard Avalonia.Input.Platform.IClipboard
cancellationToken System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot>
Remarks
Probe order:
- Avalonia.Input.Platform.IClipboard.TryGetInProcessDataAsync → Avalonia.Controls.Documents.Primitives.Components.ClipboardFormats.InProcessSnapshot: when copy/paste happen within the same process, the rich snapshot is lowered through Avalonia.Controls.Documents.Serialization.PlainText.PlainTextSerializer (Serialize→Deserialize) so the returned snapshot keeps the source text exactly as our serializer emits it but drops every formatting, list, and table structure.
- Platform Avalonia.Input.DataFormat.Text via Avalonia.Input.Platform.IClipboard.TryGetDataAsync, fed to Avalonia.Controls.Documents.Serialization.PlainText.PlainTextSerializer.Deserialize(string).
Rich formats (RTF, etc.) are intentionally not probed — by convention,
every producer that publishes RTF also publishes DataFormat.Text
next to it.
TryGetSnapshotAsync Method
public System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot> TryGetSnapshotAsync(Avalonia.Input.Platform.IClipboard clipboard, System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer> richSerializers, System.Threading.CancellationToken cancellationToken)
Parameters
clipboard Avalonia.Input.Platform.IClipboard
richSerializers System.Collections.Generic.IReadOnlyList<Avalonia.Controls.Documents.Serialization.IDocumentSerializer>
cancellationToken System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot>