XamlReader.LoadAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přečte kód XAML a vrátí objekt, který odpovídá kořenovému adresáři zadaného kódu.
Přetížení
LoadAsync(Stream, ParserContext, Boolean) | |
LoadAsync(XmlReader, Boolean) | |
LoadAsync(Stream, ParserContext) |
Přečte vstup XAML v zadaném Stream a vrátí kořen odpovídajícího stromu objektů. |
LoadAsync(Stream) |
Přečte vstup XAML v zadaném Stream a vrátí kořen odpovídajícího stromu objektů. |
LoadAsync(XmlReader) |
Přečte vstup XAML v zadaném XmlReader a vrátí kořen odpovídajícího stromu objektů. |
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
Parametry
- stream
- Stream
- parserContext
- ParserContext
- useRestrictiveXamlReader
- Boolean
Návraty
Poznámky
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Load(Stream, ParserContext, Boolean).
Platí pro
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
Parametry
- reader
- XmlReader
- useRestrictiveXamlReader
- Boolean
Návraty
Poznámky
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Load(XmlReader, Boolean).
Platí pro
LoadAsync(Stream, ParserContext)
Přečte vstup XAML v zadaném Stream a vrátí kořen odpovídajícího stromu objektů.
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
Parametry
- stream
- Stream
Datový proud obsahující vstup XAML, který se má načíst.
- parserContext
- ParserContext
Kontextové informace používané analyzátorem
Návraty
Kořen vytvořeného stromu objektů.
Výjimky
stream
je null
.
Více operací načítání se provádí současně se stejným XamlReader.
Poznámky
Asynchronní operace načtení XAML zpočátku vrátí objekt, který je čistě kořenovým objektem. Asynchronně pokračuje analýza XAML a všechny podřízené objekty se vyplní pod kořenem. To je v kontrastu s typickým chováním zpracování WPF XAML a jeho interakcí s koncepty WPF životnosti objektů. V typické (nesynchronní) interakci jsou všechny vlastnosti objektu včetně všech podřízených kolekcí vyplněny před vrácením elementu a hlášením o jeho načtení. Toto chování odpovídá metodice zdola nahoru pro vytvoření stromu, kde kořenový objekt je posledním objektem, který bude k dispozici.
Obvykle byste vrácený objekt přiřadili k určitému umístění ve stromu objektů vaší aplikace s vědomím, že obsah se může stále zaplnit a může způsobit přírůstkové aktualizace rozložení, pokud je celý obsah zpřístupněn jako součást uživatelského rozhraní. Z tohoto důvodu je typické izolovat nebo virtualizovat všechny asynchronně načtené objekty z XAML a používat logiku nebo stav aplikace specifické pro aplikaci k upozornění, když LoadCompleted je zpracován.
Aby bylo možné LoadAsync načítat značky asynchronně, musí kořenový element v kódu XAML obsahovat atribut a hodnotu x:SynchronousMode="Async"
. Hodnota je považována za rozlišování velkých a malých písmen. Pokud kořenový kód XAML neobsahuje x:SynchronousMode="Async"
, nevyvolá se žádná výjimka a volání se zpracuje jako synchronní zatížení (viz Load(Stream, ParserContext)).
Najednou může být provedena pouze jedna asynchronní operace zatížení na instanci XamlReader třídy. Pokud se ve stejné instanci XamlReader třídy InvalidOperationException pokusí o více než jednu asynchronní operaci, vyvolá se.
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Load(Stream, ParserContext).
Viz také
Platí pro
LoadAsync(Stream)
Přečte vstup XAML v zadaném Stream a vrátí kořen odpovídajícího stromu objektů.
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
Parametry
- stream
- Stream
Datový proud obsahující vstup XAML, který se má načíst.
Návraty
Objekt, který je kořenem vytvořeného stromu objektů.
Výjimky
stream
je null
.
Současně čeká na více operací načítání se stejnou XamlReaderoperací .
Poznámky
Asynchronní operace načtení XAML zpočátku vrátí objekt, který je čistě kořenovým objektem. Asynchronně pokračuje analýza XAML a všechny podřízené objekty se vyplní pod kořenem. To je v kontrastu s typickým chováním zpracování WPF XAML a jeho interakcí s koncepty WPF životnosti objektů. V typické (nesynchronní) interakci jsou všechny vlastnosti objektu včetně všech podřízených kolekcí vyplněny před vrácením elementu a hlášením o jeho načtení. Toto chování odpovídá metodice zdola nahoru pro vytvoření stromu, kde kořenový objekt je posledním objektem, který bude k dispozici.
Obvykle byste vrácený objekt přiřadili k určitému umístění ve stromu objektů aplikace WPF s vědomím, že obsah se může stále zaplnit a může způsobit přírůstkové aktualizace rozložení, pokud je celý obsah zpřístupněn jako součást uživatelského rozhraní. Z tohoto důvodu je typické izolovat nebo virtualizovat všechny asynchronně načtené objekty z XAML a používat logiku nebo stav aplikace specifické pro aplikaci k upozornění, když LoadCompleted je zpracován.
Aby bylo možné LoadAsync načíst vstup XAML asynchronně, kořenový element ve vstupu XAML musí obsahovat atribut a hodnotu x:SynchronousMode="Async"
. Hodnota je považována za rozlišování velkých a malých písmen. Pokud vstupní kořen XAML neobsahuje x:SynchronousMode="Async"
, nevyvolá se žádná výjimka a volání se zpracuje jako synchronní zatížení (viz Load(Stream)).
Najednou může být provedena pouze jedna asynchronní operace zatížení na instanci XamlReader třídy. Pokud se ve stejné instanci XamlReader třídy InvalidOperationException pokusí o více než jednu asynchronní operaci, vyvolá se.
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Load(Stream).
Viz také
Platí pro
LoadAsync(XmlReader)
Přečte vstup XAML v zadaném XmlReader a vrátí kořen odpovídajícího stromu objektů.
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
Parametry
Návraty
Kořen vytvořeného stromu objektů.
Výjimky
reader
je null
.
Více operací načítání se provádí současně se stejným XamlReader.
Poznámky
Asynchronní operace načtení XAML zpočátku vrátí objekt, který je čistě kořenovým objektem. Asynchronně pokračuje analýza XAML a všechny podřízené objekty se vyplní pod kořenem. To je v kontrastu s typickým chováním zpracování WPF XAML a jeho interakcí s koncepty WPF životnosti objektů. V typické (nesynchronní) interakci jsou všechny vlastnosti objektu včetně všech podřízených kolekcí vyplněny před vrácením elementu a hlášením o jeho načtení. Toto chování odpovídá metodice zdola nahoru pro vytvoření stromu, kde kořenový objekt je posledním objektem, který bude k dispozici.
Obvykle byste vrácené objekty přiřadili LoadAsync do nějakého umístění ve stromu objektů vaší aplikace s vědomím, že obsah se může stále zaplnit a může způsobit přírůstkové aktualizace rozložení, pokud je celý obsah zpřístupněn jako součást uživatelského rozhraní. Z tohoto důvodu je typické izolovat nebo virtualizovat všechny asynchronně načtené objekty z XAML a používat logiku nebo stav aplikace specifické pro aplikaci k upozornění, když LoadCompleted je zpracován.
Aby bylo možné LoadAsync načítat vstup XAML asynchronně, kořenový element ve značkách XAML musí obsahovat atribut a hodnotu x:SynchronousMode="Async"
. Hodnota je považována za rozlišování velkých a malých písmen. Pokud kořenový kód XAML neobsahuje x:SynchronousMode="Async"
, nevyvolá se žádná výjimka a volání se místo toho zpracuje jako synchronní zatížení (viz Load(XmlReader)).
Najednou může být provedena pouze jedna asynchronní operace zatížení na instanci XamlReader třídy. Pokud se ve stejné instanci XamlReader třídy InvalidOperationException pokusí o více než jednu asynchronní operaci, vyvolá se.
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Load(XmlReader).
Viz také
Platí pro
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
Parametry
- stream
- Stream
- useRestrictiveXamlReader
- Boolean
Návraty
Poznámky
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Load(Stream, Boolean).