Freigeben über


XamlReader.LoadAsync Methode

Definition

Liest XAML-Markup und gibt ein Objekt zurück, das dem Stammelement des angegebenen Markups entspricht.

Überlädt

LoadAsync(Stream, ParserContext, Boolean)
LoadAsync(XmlReader, Boolean)
LoadAsync(Stream, ParserContext)

Liest die XAML-Eingabe im angegebenen Stream und gibt das Stammelement der entsprechenden Objektstruktur zurück.

LoadAsync(Stream)

Liest die XAML-Eingabe im angegebenen Stream und gibt das Stammelement der entsprechenden Objektstruktur zurück.

LoadAsync(XmlReader)

Liest die XAML-Eingabe im angegebenen XmlReader und gibt das Stammelement der entsprechenden Objektstruktur zurück.

LoadAsync(Stream, Boolean)

LoadAsync(Stream, ParserContext, Boolean)

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream, System::Windows::Markup::ParserContext ^ parserContext, bool useRestrictiveXamlReader);
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext, bool useRestrictiveXamlReader);
member this.LoadAsync : System.IO.Stream * System.Windows.Markup.ParserContext * bool -> obj
Public Function LoadAsync (stream As Stream, parserContext As ParserContext, useRestrictiveXamlReader As Boolean) As Object

Parameter

stream
Stream
parserContext
ParserContext
useRestrictiveXamlReader
Boolean

Gibt zurück

Hinweise

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Load(Stream, ParserContext, Boolean)Ausnahmen.

Gilt für:

LoadAsync(XmlReader, Boolean)

public:
 System::Object ^ LoadAsync(System::Xml::XmlReader ^ reader, bool useRestrictiveXamlReader);
public object LoadAsync (System.Xml.XmlReader reader, bool useRestrictiveXamlReader);
member this.LoadAsync : System.Xml.XmlReader * bool -> obj
Public Function LoadAsync (reader As XmlReader, useRestrictiveXamlReader As Boolean) As Object

Parameter

reader
XmlReader
useRestrictiveXamlReader
Boolean

Gibt zurück

Hinweise

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Load(XmlReader, Boolean)Ausnahmen.

Gilt für:

LoadAsync(Stream, ParserContext)

Liest die XAML-Eingabe im angegebenen Stream und gibt das Stammelement der entsprechenden Objektstruktur zurück.

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream, System::Windows::Markup::ParserContext ^ parserContext);
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext);
member this.LoadAsync : System.IO.Stream * System.Windows.Markup.ParserContext -> obj
Public Function LoadAsync (stream As Stream, parserContext As ParserContext) As Object

Parameter

stream
Stream

Ein Stream, der die zu ladende XAML-Eingabe enthält.

parserContext
ParserContext

Vom Parser verwendete Kontextinformationen.

Gibt zurück

Das Stammelement der erstellten Objektstruktur.

Ausnahmen

stream ist null.

Es werden mehrere Ladevorgänge mit demselben XamlReader gleichzeitig ausgeführt.

Hinweise

Ein asynchroner XAML-Ladevorgang gibt zunächst ein Objekt zurück, bei dem es sich um ein reines Stammobjekt handelt. Asynchron wird die XAML-Analyse fortgesetzt, und alle untergeordneten Objekte werden unter dem Stamm ausgefüllt. Dies steht im Gegensatz zum typischen WPF-XAML-Verarbeitungsverhalten und dessen Interaktion mit WPF-Konzepten der Objektlebensdauer. In der typischen (nicht asynchronen) Interaktion werden alle Eigenschaften eines Objekts, einschließlich aller untergeordneten Auflistungen, gefüllt, bevor ein Element zurückgegeben und als geladen gemeldet wird. Dieses Verhalten entspricht einer Bottom-up-Methode zum Erstellen der Struktur, bei der das Stammobjekt das letzte verfügbare Objekt ist.

In der Regel weisen Sie das zurückgegebene Objekt einem Speicherort in der Objektstruktur Ihrer Anwendung zu, mit dem Wissen, dass Inhalte möglicherweise noch ausgefüllt werden und inkrementelle Layoutupdates verursachen können, wenn der gesamte Inhalt als Teil der Benutzeroberfläche verfügbar gemacht wird. Aus diesem Grund ist es üblich, alle asynchron geladenen Objekte aus XAML zu isolieren oder zu virtualisieren und anwendungsspezifische Logik- oder Anwendungsstatus zu verwenden, um zu benachrichtigen, wenn LoadCompleted verarbeitet wird.

Damit LoadAsync Markup asynchron geladen werden kann, muss das Stammelement im XAML-Markup das Attribut und den Wert x:SynchronousMode="Async"enthalten. Bei dem Wert wird die Groß-/Kleinschreibung beachtet. Wenn der XAML-Markupstamm nicht enthält x:SynchronousMode="Async", wird keine Ausnahme ausgelöst, und der Aufruf wird als synchrone Last verarbeitet (siehe Load(Stream, ParserContext)).

Es kann jeweils nur ein asynchroner Ladevorgang pro instance der XamlReader Klasse ausgeführt werden. Wenn mehrere asynchrone Vorgänge auf demselben instance der XamlReader Klasse an InvalidOperationException ausgelöst werden.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Load(Stream, ParserContext)Ausnahmen.

Weitere Informationen

Gilt für:

LoadAsync(Stream)

Liest die XAML-Eingabe im angegebenen Stream und gibt das Stammelement der entsprechenden Objektstruktur zurück.

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream);
public object LoadAsync (System.IO.Stream stream);
member this.LoadAsync : System.IO.Stream -> obj
Public Function LoadAsync (stream As Stream) As Object

Parameter

stream
Stream

Der Stream, der die zu ladende XAML-Eingabe enthält.

Gibt zurück

Das Objekt, das das Stammelement der erstellten Objektstruktur darstellt.

Ausnahmen

stream ist null.

Es stehen mehrere Ladevorgänge mit demselben XamlReader gleichzeitig an.

Hinweise

Ein asynchroner XAML-Ladevorgang gibt zunächst ein Objekt zurück, bei dem es sich um ein reines Stammobjekt handelt. Asynchron wird die XAML-Analyse fortgesetzt, und alle untergeordneten Objekte werden unter dem Stamm ausgefüllt. Dies steht im Gegensatz zum typischen WPF-XAML-Verarbeitungsverhalten und dessen Interaktion mit WPF-Konzepten der Objektlebensdauer. In der typischen (nicht asynchronen) Interaktion werden alle Eigenschaften eines Objekts, einschließlich aller untergeordneten Auflistungen, gefüllt, bevor ein Element zurückgegeben und als geladen gemeldet wird. Dieses Verhalten entspricht einer Bottom-up-Methode zum Erstellen der Struktur, bei der das Stammobjekt das letzte verfügbare Objekt ist.

In der Regel weisen Sie das zurückgegebene Objekt einem Speicherort in der Objektstruktur Ihrer WPF-Anwendung zu, wobei Sie wissen, dass der Inhalt möglicherweise noch ausgefüllt wird und zu inkrementellen Layoutupdates führen kann, wenn der gesamte Inhalt als Teil der Benutzeroberfläche verfügbar gemacht wird. Aus diesem Grund ist es üblich, alle asynchron geladenen Objekte aus XAML zu isolieren oder zu virtualisieren und anwendungsspezifische Logik- oder Anwendungsstatus zu verwenden, um zu benachrichtigen, wenn LoadCompleted verarbeitet wird.

Damit LoadAsync XAML-Eingabe asynchron geladen werden kann, muss das Stammelement in der XAML-Eingabe das Attribut und den Wert x:SynchronousMode="Async"enthalten. Bei dem Wert wird die Groß-/Kleinschreibung beachtet. Wenn der XAML-Eingabestamm nicht enthält x:SynchronousMode="Async", wird keine Ausnahme ausgelöst, und der Aufruf wird als synchrone Last verarbeitet (siehe Load(Stream)).

Es kann jeweils nur ein asynchroner Ladevorgang pro instance der XamlReader Klasse ausgeführt werden. Wenn mehrere asynchrone Vorgänge auf demselben instance der XamlReader Klasse an InvalidOperationException ausgelöst werden.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Load(Stream)Ausnahmen.

Weitere Informationen

Gilt für:

LoadAsync(XmlReader)

Liest die XAML-Eingabe im angegebenen XmlReader und gibt das Stammelement der entsprechenden Objektstruktur zurück.

public:
 System::Object ^ LoadAsync(System::Xml::XmlReader ^ reader);
public object LoadAsync (System.Xml.XmlReader reader);
member this.LoadAsync : System.Xml.XmlReader -> obj
Public Function LoadAsync (reader As XmlReader) As Object

Parameter

reader
XmlReader

Ein vorhandener XmlReader , der die XAML-Eingabe bereits geladen/gelesen hat.

Gibt zurück

Das Stammelement der erstellten Objektstruktur.

Ausnahmen

reader ist null.

Es werden mehrere Ladevorgänge mit demselben XamlReader gleichzeitig ausgeführt.

Hinweise

Ein asynchroner XAML-Ladevorgang gibt zunächst ein Objekt zurück, bei dem es sich um ein reines Stammobjekt handelt. Asynchron wird die XAML-Analyse fortgesetzt, und alle untergeordneten Objekte werden unter dem Stamm ausgefüllt. Dies steht im Gegensatz zum typischen WPF-XAML-Verarbeitungsverhalten und dessen Interaktion mit WPF-Konzepten der Objektlebensdauer. In der typischen (nicht asynchronen) Interaktion werden alle Eigenschaften eines Objekts, einschließlich aller untergeordneten Auflistungen, gefüllt, bevor ein Element zurückgegeben und als geladen gemeldet wird. Dieses Verhalten entspricht einer Bottom-up-Methode zum Erstellen der Struktur, bei der das Stammobjekt das letzte verfügbare Objekt ist.

In der Regel weisen Sie das zurückgegebene Objekt LoadAsync einem Speicherort in der Objektstruktur Ihrer Anwendung zu, wobei Sie wissen, dass der Inhalt möglicherweise noch ausgefüllt wird und zu inkrementellen Layoutupdates führen kann, wenn der gesamte Inhalt als Teil der Benutzeroberfläche verfügbar gemacht wird. Aus diesem Grund ist es üblich, alle asynchron geladenen Objekte aus XAML zu isolieren oder zu virtualisieren und anwendungsspezifische Logik- oder Anwendungsstatus zu verwenden, um zu benachrichtigen, wenn LoadCompleted verarbeitet wird.

Damit LoadAsync XAML-Eingabe asynchron geladen werden kann, muss das Stammelement im XAML-Markup das Attribut und den Wert x:SynchronousMode="Async"enthalten. Bei dem Wert wird die Groß-/Kleinschreibung beachtet. Wenn der XAML-Markupstamm nicht enthält x:SynchronousMode="Async", wird keine Ausnahme ausgelöst, und der Aufruf wird stattdessen als synchrones Laden verarbeitet (siehe Load(XmlReader)).

Es kann jeweils nur ein asynchroner Ladevorgang pro instance der XamlReader Klasse ausgeführt werden. Wenn mehrere asynchrone Vorgänge auf demselben instance der XamlReader Klasse an InvalidOperationException ausgelöst werden.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Load(XmlReader)Ausnahmen.

Weitere Informationen

Gilt für:

LoadAsync(Stream, Boolean)

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream, bool useRestrictiveXamlReader);
public object LoadAsync (System.IO.Stream stream, bool useRestrictiveXamlReader);
member this.LoadAsync : System.IO.Stream * bool -> obj
Public Function LoadAsync (stream As Stream, useRestrictiveXamlReader As Boolean) As Object

Parameter

stream
Stream
useRestrictiveXamlReader
Boolean

Gibt zurück

Hinweise

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Load(Stream, Boolean)Ausnahmen.

Gilt für: