SerializerWriter 类

定义

定义实现插件文档输出序列化程序所需的抽象方法和事件。

public ref class SerializerWriter abstract
public abstract class SerializerWriter
type SerializerWriter = class
Public MustInherit Class SerializerWriter
继承
SerializerWriter
派生

示例

以下示例说明了 SerializerWriter 的用法。

// Create a SerializerProvider for accessing plug-in serializers.
SerializerProvider serializerProvider = new SerializerProvider();

// Locate the serializer that matches the fileName extension.
SerializerDescriptor selectedPlugIn = null;
foreach ( SerializerDescriptor serializerDescriptor in
                serializerProvider.InstalledSerializers )
{
    if ( serializerDescriptor.IsLoadable &&
         fileName.EndsWith(serializerDescriptor.DefaultFileExtension) )
    {   // The plug-in serializer and fileName extensions match.
        selectedPlugIn = serializerDescriptor;
        break; // foreach
    }
}

// If a match for a plug-in serializer was found,
// use it to output and store the document.
if (selectedPlugIn != null)
{
    Stream package = File.Create(fileName);
    SerializerWriter serializerWriter =
        serializerProvider.CreateSerializerWriter(selectedPlugIn,
                                                  package);
    IDocumentPaginatorSource idoc =
        flowDocument as IDocumentPaginatorSource;
    serializerWriter.Write(idoc.DocumentPaginator, null);
    package.Close();
    return true;
}
// ------------------------ PlugInFileFilter --------------------------
/// <summary>
///   Gets a filter string for installed plug-in serializers.</summary>
/// <remark>
///   PlugInFileFilter is used to set the SaveFileDialog or
///   OpenFileDialog "Filter" property when saving or opening files
///   using plug-in serializers.</remark>
private string PlugInFileFilter
{
    get
    {   // Create a SerializerProvider for accessing plug-in serializers.
        SerializerProvider serializerProvider = new SerializerProvider();
        string filter = "";

        // For each loadable serializer, add its display
        // name and extension to the filter string.
        foreach (SerializerDescriptor serializerDescriptor in
            serializerProvider.InstalledSerializers)
        {
            if (serializerDescriptor.IsLoadable)
            {
                // After the first, separate entries with a "|".
                if (filter.Length > 0)   filter += "|";

                // Add an entry with the plug-in name and extension.
                filter += serializerDescriptor.DisplayName + " (*" +
                    serializerDescriptor.DefaultFileExtension + ")|*" +
                    serializerDescriptor.DefaultFileExtension;
            }
        }

        // Return the filter string of installed plug-in serializers.
        return filter;
    }
}

构造函数

SerializerWriter()

初始化 SerializerWriter 类的新实例。

方法

CancelAsync()

在派生类中重写时,取消异步写入操作。

CreateVisualsCollator()

在派生类中重写时,返回写入调整后的 Visual 元素的 SerializerWriterCollator

CreateVisualsCollator(PrintTicket, PrintTicket)

当在派生类中重写时,返回写入已调整 Visual 元素的 SerializerWriterCollator,同时返回打印票证。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
Write(DocumentPaginator)

在派生类中重写时,将给定 DocumentPaginator 的内容同步写入序列化 Stream

Write(DocumentPaginator, PrintTicket)

在派生类中重写时,将已分页的内容与关联的 PrintTicket 一起同步写入序列化 Stream

Write(FixedDocument)

在派生类中重写时,将给定的 FixedDocument 同步写入序列化 Stream

Write(FixedDocument, PrintTicket)

在派生类中重写时,将给定的 FixedDocument 与关联的 PrintTicket 一起同步写入序列化 Stream

Write(FixedDocumentSequence)

在派生类中重写时,将给定的 FixedDocumentSequence 同步写入序列化 Stream

Write(FixedDocumentSequence, PrintTicket)

在派生类中重写时,将给定的 FixedDocumentSequence 与关联的 PrintTicket 一起同步写入序列化 Stream

Write(FixedPage)

在派生类中重写时,将给定的 FixedPage 同步写入序列化 Stream

Write(FixedPage, PrintTicket)

在派生类中重写时,将给定的 FixedPage 与关联的 PrintTicket 一起同步写入序列化 Stream

Write(Visual)

在派生类中重写时,将给定的 Visual 元素同步写入到序列化 Stream

Write(Visual, PrintTicket)

在派生类中重写时,将给定的 Visual 元素与关联的 PrintTicket 一起同步写入序列化 Stream

WriteAsync(DocumentPaginator)

在派生类中重写时,将给定 DocumentPaginator 的内容异步写入序列化 Stream

WriteAsync(DocumentPaginator, Object)

在派生类中重写时,将给定 DocumentPaginator 的内容异步写入序列化 Stream

WriteAsync(DocumentPaginator, PrintTicket)

在派生类中重写时,将给定 DocumentPaginator 的内容异步写入序列化 Stream

WriteAsync(DocumentPaginator, PrintTicket, Object)

在派生类中重写时,将已分页的内容与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(FixedDocument)

在派生类中重写时,将给定的 FixedDocument 异步写入序列化 Stream

WriteAsync(FixedDocument, Object)

在派生类中重写时,将给定的 FixedDocument 异步写入序列化 Stream

WriteAsync(FixedDocument, PrintTicket)

在派生类中重写时,将给定的 FixedDocument 与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(FixedDocument, PrintTicket, Object)

在派生类中重写时,将给定的 FixedDocument 与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(FixedDocumentSequence)

在派生类中重写时,将给定的 FixedDocumentSequence 异步写入序列化 Stream

WriteAsync(FixedDocumentSequence, Object)

在派生类中重写时,将给定的 FixedDocumentSequence 异步写入序列化 Stream

WriteAsync(FixedDocumentSequence, PrintTicket)

在派生类中重写时,将给定的 FixedDocumentSequence 与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(FixedDocumentSequence, PrintTicket, Object)

在派生类中重写时,将给定的 FixedDocumentSequence 与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(FixedPage)

在派生类中重写时,将给定的 FixedPage 异步写入序列化 Stream

WriteAsync(FixedPage, Object)

在派生类中重写时,将给定的 FixedPage 异步写入序列化 Stream

WriteAsync(FixedPage, PrintTicket)

在派生类中重写时,将给定的 FixedPage 与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(FixedPage, PrintTicket, Object)

在派生类中重写时,将给定的 FixedPage 与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(Visual)

在派生类中重写时,将给定的 Visual 元素异步写入序列化 Stream

WriteAsync(Visual, Object)

在派生类中重写时,将给定的 Visual 元素异步写入序列化 Stream

WriteAsync(Visual, PrintTicket)

在派生类中重写时,将给定的 Visual 元素与关联的 PrintTicket 一起异步写入序列化 Stream

WriteAsync(Visual, PrintTicket, Object)

在派生类中重写时,将给定的 Visual 元素与关联的 PrintTicket 以及标识符一起异步写入序列化 Stream

事件

WritingCancelled

在派生类中重写时,当执行 CancelAsync() 操作时发生。

WritingCompleted

在派生类中重写时,当写操作完成时发生。

WritingPrintTicketRequired

在派生类中重写时,恰好在通过 PrintTicketWrite 方法将 WriteAsync 添加到流之前发生。

WritingProgressChanged

在派生类中重写时,当 SerializerWriter 更新其进度时发生。

适用于

另请参阅