XamlReader.LoadAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
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).