XamlReader.LoadAsync Metod

Definition

Läser XAML-markering och returnerar ett objekt som motsvarar roten för den angivna markeringen.

Överlagringar

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

Läser XAML-indata i angivet Stream och returnerar roten för motsvarande objektträd.

LoadAsync(Stream)

Läser XAML-indata i angivet Stream och returnerar roten för motsvarande objektträd.

LoadAsync(XmlReader)

Läser XAML-indata i angivet XmlReader och returnerar roten för motsvarande objektträd.

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

Parametrar

stream
Stream
parserContext
ParserContext
useRestrictiveXamlReader
Boolean

Returer

Kommentarer

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Load(Stream, ParserContext, Boolean).

Gäller 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

Parametrar

reader
XmlReader
useRestrictiveXamlReader
Boolean

Returer

Kommentarer

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Load(XmlReader, Boolean).

Gäller för

LoadAsync(Stream, ParserContext)

Läser XAML-indata i angivet Stream och returnerar roten för motsvarande objektträd.

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

Parametrar

stream
Stream

En ström som innehåller XAML-indata som ska läsas in.

parserContext
ParserContext

Kontextinformation som används av parsern.

Returer

Roten för det skapade objektträdet.

Undantag

stream är null.

Flera inläsningsåtgärder utförs samtidigt med samma XamlReader.

Kommentarer

En asynkron XAML-belastningsåtgärd returnerar ursprungligen ett objekt som bara är rotobjektet. Asynkront fortsätter XAML-parsningen och eventuella underordnade objekt fylls i under roten. Detta står i kontrast till det typiska WPF XAML-bearbetningsbeteendet och dess interaktion med WPF begrepp om objektlivslängd. I den typiska (icke-asynkrona) interaktionen fylls alla egenskaper för ett objekt, inklusive alla underordnade samlingar, innan ett element returneras och rapporteras som inläst. Det här beteendet motsvarar en bottom-up-metod för att skapa trädet där rotobjektet är det sista objektet som blir tillgängligt.

Du skulle vanligtvis tilldela det returnerade objektet till någon plats i programmets objektträd, med vetskapen om att innehållet fortfarande fyller i och kan orsaka inkrementella layoutuppdateringar om hela innehållet exponeras som en del av användargränssnittet. Därför är det vanligt att isolera eller virtualisera asynkront inlästa objekt från XAML och använda programspecifik logik eller programtillstånd för att meddela när LoadCompleted det hanteras.

För att kunna LoadAsync läsa in markering asynkront måste rotelementet i XAML-markering innehålla attributet och värdet x:SynchronousMode="Async". Värdet behandlas som skiftlägeskänsligt. Om XAML-markeringsroten inte innehåller x:SynchronousMode="Async"genereras inget undantag och anropet bearbetas som en synkron belastning (se Load(Stream, ParserContext)).

Endast en asynkron inläsningsåtgärd per instans av XamlReader klassen kan utföras i taget. Om fler än en asynkron åtgärd görs på samma instans av XamlReader klassen utlöses en InvalidOperationException .

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Load(Stream, ParserContext).

Se även

Gäller för

LoadAsync(Stream)

Läser XAML-indata i angivet Stream och returnerar roten för motsvarande objektträd.

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

Parametrar

stream
Stream

Strömmen som innehåller XAML-indata som ska läsas in.

Returer

Objektet som är roten för det skapade objektträdet.

Undantag

stream är null.

Flera inläsningsåtgärder väntar samtidigt med samma XamlReader.

Kommentarer

En asynkron XAML-belastningsåtgärd returnerar ursprungligen ett objekt som bara är rotobjektet. Asynkront fortsätter XAML-parsningen och eventuella underordnade objekt fylls i under roten. Detta står i kontrast till det typiska WPF XAML-bearbetningsbeteendet och dess interaktion med WPF begrepp om objektlivslängd. I den typiska (icke-asynkrona) interaktionen fylls alla egenskaper för ett objekt, inklusive alla underordnade samlingar, innan ett element returneras och rapporteras som inläst. Det här beteendet motsvarar en bottom-up-metod för att skapa trädet där rotobjektet är det sista objektet som blir tillgängligt.

Du skulle vanligtvis tilldela det returnerade objektet till någon plats i ditt WPF programobjektträd, med vetskapen om att innehållet fortfarande fyller i och kan orsaka inkrementella layoutuppdateringar om hela innehållet exponeras som en del av användargränssnittet. Därför är det vanligt att isolera eller virtualisera asynkront inlästa objekt från XAML och använda programspecifik logik eller programtillstånd för att meddela när LoadCompleted det hanteras.

För LoadAsync att kunna läsa in XAML-indata asynkront måste rotelementet i XAML-indata innehålla attributet och värdet x:SynchronousMode="Async". Värdet behandlas som skiftlägeskänsligt. Om XAML-indataroten inte innehåller x:SynchronousMode="Async"genereras inget undantag och anropet bearbetas som en synkron belastning (se Load(Stream)).

Endast en asynkron inläsningsåtgärd per instans av XamlReader klassen kan utföras i taget. Om fler än en asynkron åtgärd görs på samma instans av XamlReader klassen utlöses en InvalidOperationException .

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Load(Stream).

Se även

Gäller för

LoadAsync(XmlReader)

Läser XAML-indata i angivet XmlReader och returnerar roten för motsvarande objektträd.

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

Parametrar

reader
XmlReader

En befintlig XmlReader som redan har läst in/läst in XAML-indata.

Returer

Roten för det skapade objektträdet.

Undantag

reader är null.

Flera inläsningsåtgärder utförs samtidigt med samma XamlReader.

Kommentarer

En asynkron XAML-belastningsåtgärd returnerar ursprungligen ett objekt som bara är rotobjektet. Asynkront fortsätter XAML-parsningen och eventuella underordnade objekt fylls i under roten. Detta står i kontrast till det typiska WPF XAML-bearbetningsbeteendet och dess interaktion med WPF begrepp om objektlivslängd. I den typiska (icke-asynkrona) interaktionen fylls alla egenskaper för ett objekt, inklusive alla underordnade samlingar, innan ett element returneras och rapporteras som inläst. Det här beteendet motsvarar en bottom-up-metod för att skapa trädet där rotobjektet är det sista objektet som blir tillgängligt.

Du skulle vanligtvis tilldela det returnerade objektet från LoadAsync till någon plats i programmets objektträd, med vetskapen om att innehållet fortfarande fyller i och kan orsaka inkrementella layoutuppdateringar om hela innehållet exponeras som en del av användargränssnittet. Därför är det vanligt att isolera eller virtualisera asynkront inlästa objekt från XAML och använda programspecifik logik eller programtillstånd för att meddela när LoadCompleted det hanteras.

För LoadAsync att kunna läsa in XAML-indata asynkront måste rotelementet i XAML-markering innehålla attributet och värdet x:SynchronousMode="Async". Värdet behandlas som skiftlägeskänsligt. Om XAML-markeringsroten inte innehåller x:SynchronousMode="Async"genereras inget undantag och anropet bearbetas i stället som en synkron belastning (se Load(XmlReader)).

Endast en asynkron inläsningsåtgärd per instans av XamlReader klassen kan utföras i taget. Om fler än en asynkron åtgärd görs på samma instans av XamlReader klassen utlöses en InvalidOperationException .

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Load(XmlReader).

Se även

Gäller 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

Parametrar

stream
Stream
useRestrictiveXamlReader
Boolean

Returer

Kommentarer

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Load(Stream, Boolean).

Gäller för