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 更新進度的時候。

適用於

另請參閱