TextRange.Save Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje bieżące zaznaczenie w określonym strumieniu w określonym formacie danych.
Przeciążenia
Save(Stream, String) |
Zapisuje bieżące zaznaczenie w określonym strumieniu w określonym formacie danych. |
Save(Stream, String, Boolean) |
Zapisuje bieżące zaznaczenie w określonym strumieniu w określonym formacie danych z opcją zachowania obiektów niestandardowych TextElement . |
Save(Stream, String)
Zapisuje bieżące zaznaczenie w określonym strumieniu w określonym formacie danych.
public:
void Save(System::IO::Stream ^ stream, System::String ^ dataFormat);
public void Save (System.IO.Stream stream, string dataFormat);
member this.Save : System.IO.Stream * string -> unit
Public Sub Save (stream As Stream, dataFormat As String)
Parametry
- stream
- Stream
Pusty, zapisywalny strumień, w celu zapisania bieżącego zaznaczenia.
- dataFormat
- String
Format danych do zapisania bieżącego zaznaczenia jako. Obecnie obsługiwane formaty danych to Rtf, Text, Xamli XamlPackage.
Wyjątki
stream
lub dataFormat
ma wartość null
.
Określony format danych jest nieobsługiwany.
-Lub
Zawartość załadowana z programu jest niezgodna z stream
określonym formatem danych.
Przykłady
W poniższym przykładzie pokazano użycie Save metody .
// This method accepts an input stream and a corresponding data format. The method
// will attempt to load the input stream into a TextRange selection, apply Bold formatting
// to the selection, save the reformatted selection to an alternat stream, and return
// the reformatted stream.
Stream BoldFormatStream(Stream inputStream, string dataFormat)
{
// A text container to read the stream into.
FlowDocument workDoc = new FlowDocument();
TextRange selection = new TextRange(workDoc.ContentStart, workDoc.ContentEnd);
Stream outputStream = new MemoryStream();
try
{
// Check for a valid data format, and then attempt to load the input stream
// into the current selection. Note that CanLoad ONLY checks whether dataFormat
// is a currently supported data format for loading a TextRange. It does not
// verify that the stream actually contains the specified format. An exception
// may be raised when there is a mismatch between the specified data format and
// the data in the stream.
if (selection.CanLoad(dataFormat))
selection.Load(inputStream, dataFormat);
}
catch (Exception e) { return outputStream; /* Load failure; return a null stream. */ }
// Apply Bold formatting to the selection, if it is not empty.
if (!selection.IsEmpty)
selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
// Save the formatted selection to a stream, and return the stream.
if (selection.CanSave(dataFormat))
selection.Save(outputStream, dataFormat);
return outputStream;
}
' This method accepts an input stream and a corresponding data format. The method
' will attempt to load the input stream into a TextRange selection, apply Bold formatting
' to the selection, save the reformatted selection to an alternat stream, and return
' the reformatted stream.
Private Function BoldFormatStream(ByVal inputStream As Stream, ByVal dataFormat As String) As Stream
' A text container to read the stream into.
Dim workDoc As New FlowDocument()
Dim selection As New TextRange(workDoc.ContentStart, workDoc.ContentEnd)
Dim outputStream As Stream = New MemoryStream()
Try
' Check for a valid data format, and then attempt to load the input stream
' into the current selection. Note that CanLoad ONLY checks whether dataFormat
' is a currently supported data format for loading a TextRange. It does not
' verify that the stream actually contains the specified format. An exception
' may be raised when there is a mismatch between the specified data format and
' the data in the stream.
If selection.CanLoad(dataFormat) Then
selection.Load(inputStream, dataFormat)
End If
Catch e As Exception ' Load failure return a null stream.
Return outputStream
End Try
' Apply Bold formatting to the selection, if it is not empty.
If Not selection.IsEmpty Then
selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold)
End If
' Save the formatted selection to a stream, and return the stream.
If selection.CanSave(dataFormat) Then
selection.Save(outputStream, dataFormat)
End If
Return outputStream
End Function
Uwagi
Gdy ta metoda zwraca wartość , stream
pozostaje otwarta, a bieżące położenie wewnątrz stream
jest niezdefiniowane.
W ramach operacji zapisywania zawartość w bieżącym zaznaczeniu może zostać przekonwertowana na format danych określony przez dataFormat
.
Zobacz też
Dotyczy
Save(Stream, String, Boolean)
Zapisuje bieżące zaznaczenie w określonym strumieniu w określonym formacie danych z opcją zachowania obiektów niestandardowych TextElement .
public:
void Save(System::IO::Stream ^ stream, System::String ^ dataFormat, bool preserveTextElements);
public void Save (System.IO.Stream stream, string dataFormat, bool preserveTextElements);
member this.Save : System.IO.Stream * string * bool -> unit
Public Sub Save (stream As Stream, dataFormat As String, preserveTextElements As Boolean)
Parametry
- stream
- Stream
Pusty, zapisywalny strumień, w celu zapisania bieżącego zaznaczenia.
- dataFormat
- String
Format danych do zapisania bieżącego zaznaczenia jako. Obecnie obsługiwane formaty danych to Rtf, Text, Xamli XamlPackage.
- preserveTextElements
- Boolean
true
aby zachować obiekty niestandardowe TextElement ; w przeciwnym razie false
.
Wyjątki
Występuje, gdy stream
wartość lub dataFormat
ma wartość null
.
Występuje, gdy określony format danych jest nieobsługiwany. Może również zostać podniesiona, jeśli zawartość załadowana z programu jest niezgodna z stream
określonym formatem danych.
Uwagi
Gdy preserveTextElements
ma wartość false
, obiekty niestandardowe TextElement są zapisywane jako znane TextElement typy. Załóżmy na przykład, że tworzysz niestandardowy element TextElement o nazwie Heading1
, który dziedziczy z Paragraphelementu . Gdy wywołasz tę metodę z ustawioną wartością preserveTextElements
false
, Heading1
jest konwertowana na element po zapisaniuTextRange.Paragraph Gdy wywołasz tę metodę z ustawioną wartością preserveTextElements
true
, Heading1
zostanie zapisana bez konwersji. Aby zachować niestandardowe elementy tekstowe, dataFormat
należy ustawić wartość DataFormats.Xaml.
Save(Stream, String, Boolean)jest wprowadzana w .NET Framework w wersji 3.5. Aby uzyskać więcej informacji, zobacz Wersje i zależności.