Skip to main content

XamlSerializer Class

Definition

Assembly:Avalonia.Controls.Documents.Serialization.Xaml
Package:Avalonia.Controls.Documents.Serialization.Xaml

Serializer for Avalonia XAML (.axaml) documents.

public class XamlSerializer

Inheritance: object -> XamlSerializer

Implements: IDocumentSerializer

Remarks

Produces lossless XAML that maps directly to the FlowDocument model. Supports all block and inline types with their full formatting properties.

Uses System.Xml.XmlReader and System.Xml.XmlWriter for parsing and generation, avoiding dependency on Avalonia's XAML runtime loader.

This serializer is thread-safe for concurrent operations.

Constructors

NameDescription
XamlSerializerNo summary available.

XamlSerializer Constructor

public XamlSerializer()

Methods

NameDescription
CanDeserializeNo summary available.
Deserialize (2 overloads)No summary available.
DeserializeAsyncNo summary available.
Serialize (2 overloads)Serializes a document snapshot to a XAML string.
SerializeAsyncNo summary available.

CanDeserialize Method

public bool CanDeserialize(System.IO.Stream stream)

Parameters

stream System.IO.Stream

Returns

bool

Deserialize overloads

Deserialize Method

public Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot Deserialize(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)
Parameters

stream System.IO.Stream

cancellationToken System.Threading.CancellationToken

Returns

Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

Deserialize Method

Deserializes a document from a XAML string.

public Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot Deserialize(string xaml)
Parameters

xaml string

The XAML content string.

Returns

Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

A new Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot containing the parsed content.

DeserializeAsync Method

public System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot> DeserializeAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)

Parameters

stream System.IO.Stream

cancellationToken System.Threading.CancellationToken

Returns

System.Threading.Tasks.Task<Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot>

Serialize overloads

Serialize Method

Serializes a document snapshot to a XAML string.

public string Serialize(Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot snapshot)
Parameters

snapshot Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

The document snapshot to serialize.

Returns

string

The XAML content string.

Serialize Method

public void Serialize(Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot snapshot, System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)
Parameters

snapshot Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

stream System.IO.Stream

cancellationToken System.Threading.CancellationToken

SerializeAsync Method

public System.Threading.Tasks.Task SerializeAsync(Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot snapshot, System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)

Parameters

snapshot Avalonia.Controls.Documents.Serialization.Snapshot.DocumentSnapshot

stream System.IO.Stream

cancellationToken System.Threading.CancellationToken

Returns

System.Threading.Tasks.Task

Properties

NameDescription
FileExtensionNo summary available.
FormatNameNo summary available.
MimeTypeNo summary available.

FileExtension Property

public string FileExtension { get; set; }

FormatName Property

public string FormatName { get; set; }

MimeType Property

public string MimeType { get; set; }