XamlReader.LoadAsync 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.
Odczytuje adiustację XAML i zwraca obiekt, który odpowiada elementowi głównemu określonego znacznika.
Przeciążenia
LoadAsync(Stream, ParserContext, Boolean) | |
LoadAsync(XmlReader, Boolean) | |
LoadAsync(Stream, ParserContext) |
Odczytuje dane wejściowe XAML w określonym Stream obiekcie i zwraca katalog główny odpowiedniego drzewa obiektów. |
LoadAsync(Stream) |
Odczytuje dane wejściowe XAML w określonym Stream obiekcie i zwraca katalog główny odpowiedniego drzewa obiektów. |
LoadAsync(XmlReader) |
Odczytuje dane wejściowe XAML w określonym XmlReader obiekcie i zwraca katalog główny odpowiedniego drzewa obiektów. |
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
Zwraca
Uwagi
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load(Stream, ParserContext, Boolean)usługę .
Dotyczy
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
Zwraca
Uwagi
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load(XmlReader, Boolean)usługę .
Dotyczy
LoadAsync(Stream, ParserContext)
Odczytuje dane wejściowe XAML w określonym Stream obiekcie i zwraca katalog główny odpowiedniego drzewa obiektów.
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
Strumień zawierający dane wejściowe XAML do załadowania.
- parserContext
- ParserContext
Informacje kontekstowe używane przez analizator.
Zwraca
Katalog główny utworzonego drzewa obiektów.
Wyjątki
stream
to null
.
Wiele operacji ładowania jest wykonywanych współbieżnie z tym samym XamlReaderelementem .
Uwagi
Asynchroniczna operacja ładowania XAML początkowo zwróci obiekt, który jest wyłącznie obiektem głównym. Asynchronicznie analizowanie kodu XAML jest kontynuowane, a wszystkie obiekty podrzędne są wypełniane w katalogu głównym. Jest to w przeciwieństwie do typowego zachowania przetwarzania WPF XAML i interakcji z koncepcjami okresu istnienia obiektu WPF. W typowej interakcji (niezsynchronicznych) wszystkie właściwości obiektu, w tym wszystkie kolekcje podrzędne, są wypełniane przed zwróceniem elementu i raportowaniem go jako załadowanego. To zachowanie jest równoznaczne z metodologią tworzenia drzewa, w którym obiekt główny jest ostatnim obiektem, który ma zostać udostępniony.
Zazwyczaj zwracany obiekt jest przypisywany do jakiejś lokalizacji w drzewie obiektów aplikacji z wiedzą, że zawartość może nadal być wypełniana i może powodować aktualizacje układu przyrostowego, jeśli cała zawartość jest uwidoczniona w ramach interfejsu użytkownika. Z tego powodu typowe jest izolowanie lub wirtualizacja wszystkich asynchronicznych załadowanych obiektów z języka XAML oraz używanie logiki specyficznej dla aplikacji lub stanu aplikacji w celu powiadamiania LoadCompleted o obsłużeniu.
Aby można LoadAsync było załadować adiustację asynchronicznie, element główny w adiustacji XAML musi zawierać atrybut i wartość x:SynchronousMode="Async"
. Wartość jest traktowana jako uwzględniana wielkość liter. Jeśli element główny znaczników XAML nie zawiera x:SynchronousMode="Async"
elementu , nie jest zgłaszany wyjątek, a wywołanie jest przetwarzane jako obciążenie synchroniczne (zobacz Load(Stream, ParserContext)).
Jednocześnie można wykonać tylko jedną operację asynchronicznego ładowania dla każdego wystąpienia XamlReader klasy. Jeśli zostanie podjęta więcej niż jedna operacja asynchroniczna w tym samym wystąpieniu XamlReader klasy InvalidOperationException , zgłaszana jest operacja asynchroniczna.
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load(Stream, ParserContext)usługę .
Zobacz też
Dotyczy
LoadAsync(Stream)
Odczytuje dane wejściowe XAML w określonym Stream obiekcie i zwraca katalog główny odpowiedniego drzewa obiektów.
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
Strumień zawierający dane wejściowe XAML do załadowania.
Zwraca
Obiekt, który jest katalogem głównym utworzonego drzewa obiektów.
Wyjątki
stream
to null
.
Wiele operacji ładowania oczekuje współbieżnie z tym samym XamlReaderelementem .
Uwagi
Asynchroniczna operacja ładowania XAML początkowo zwróci obiekt, który jest wyłącznie obiektem głównym. Asynchronicznie analizowanie kodu XAML jest kontynuowane, a wszystkie obiekty podrzędne są wypełniane w katalogu głównym. Jest to w przeciwieństwie do typowego zachowania przetwarzania WPF XAML i interakcji z koncepcjami okresu istnienia obiektu WPF. W typowej interakcji (niezsynchronicznych) wszystkie właściwości obiektu, w tym wszystkie kolekcje podrzędne, są wypełniane przed zwróceniem elementu i raportowaniem go jako załadowanego. To zachowanie jest równoznaczne z metodologią tworzenia drzewa, w którym obiekt główny jest ostatnim obiektem, który ma zostać udostępniony.
Zazwyczaj zwracany obiekt jest przypisywany do jakiejś lokalizacji w drzewie obiektów aplikacji WPF z wiedzą, że zawartość może nadal być wypełniana i może powodować aktualizacje układu przyrostowego, jeśli cała zawartość jest uwidoczniona w ramach interfejsu użytkownika. Z tego powodu typowe jest izolowanie lub wirtualizacja wszystkich asynchronicznych załadowanych obiektów z języka XAML oraz używanie logiki specyficznej dla aplikacji lub stanu aplikacji w celu powiadamiania LoadCompleted o obsłużeniu.
Aby LoadAsync można było załadować dane wejściowe XAML asynchronicznie, element główny w danych wejściowych XAML musi zawierać atrybut i wartość x:SynchronousMode="Async"
. Wartość jest traktowana jako uwzględniana wielkość liter. Jeśli element główny danych wejściowych XAML nie zawiera x:SynchronousMode="Async"
elementu , nie jest zgłaszany wyjątek, a wywołanie jest przetwarzane jako obciążenie synchroniczne (zobacz Load(Stream)).
Jednocześnie można wykonać tylko jedną operację asynchronicznego ładowania dla każdego wystąpienia XamlReader klasy. Jeśli zostanie podjęta więcej niż jedna operacja asynchroniczna w tym samym wystąpieniu XamlReader klasy InvalidOperationException , zgłaszana jest operacja asynchroniczna.
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load(Stream)usługę .
Zobacz też
Dotyczy
LoadAsync(XmlReader)
Odczytuje dane wejściowe XAML w określonym XmlReader obiekcie i zwraca katalog główny odpowiedniego drzewa obiektów.
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
Zwraca
Katalog główny utworzonego drzewa obiektów.
Wyjątki
reader
to null
.
Wiele operacji ładowania jest wykonywanych współbieżnie z tym samym XamlReaderelementem .
Uwagi
Asynchroniczna operacja ładowania XAML początkowo zwróci obiekt, który jest wyłącznie obiektem głównym. Asynchronicznie analizowanie kodu XAML jest kontynuowane, a wszystkie obiekty podrzędne są wypełniane w katalogu głównym. Jest to w przeciwieństwie do typowego zachowania przetwarzania WPF XAML i interakcji z koncepcjami okresu istnienia obiektu WPF. W typowej interakcji (niezsynchronicznych) wszystkie właściwości obiektu, w tym wszystkie kolekcje podrzędne, są wypełniane przed zwróceniem elementu i raportowaniem go jako załadowanego. To zachowanie jest równoznaczne z metodologią tworzenia drzewa, w którym obiekt główny jest ostatnim obiektem, który ma zostać udostępniony.
Zazwyczaj zwracany obiekt LoadAsync można przypisać do jakiejś lokalizacji w drzewie obiektów aplikacji, mając wiedzę, że zawartość może nadal być wypełniana i może powodować aktualizacje układu przyrostowego, jeśli cała zawartość jest uwidoczniona w ramach interfejsu użytkownika. Z tego powodu typowe jest izolowanie lub wirtualizacja wszystkich asynchronicznych załadowanych obiektów z języka XAML oraz używanie logiki specyficznej dla aplikacji lub stanu aplikacji w celu powiadamiania LoadCompleted o obsłużeniu.
Aby LoadAsync można było załadować dane wejściowe XAML asynchronicznie, element główny w adiustacji XAML musi zawierać atrybut i wartość x:SynchronousMode="Async"
. Wartość jest traktowana jako uwzględniana wielkość liter. Jeśli element główny znaczników XAML nie zawiera x:SynchronousMode="Async"
elementu , nie jest zgłaszany wyjątek, a wywołanie jest przetwarzane jako obciążenie synchroniczne (zobacz Load(XmlReader)).
Jednocześnie można wykonać tylko jedną operację asynchronicznego ładowania dla każdego wystąpienia XamlReader klasy. Jeśli zostanie podjęta więcej niż jedna operacja asynchroniczna w tym samym wystąpieniu XamlReader klasy InvalidOperationException , zgłaszana jest operacja asynchroniczna.
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load(XmlReader)usługę .
Zobacz też
Dotyczy
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
Zwraca
Uwagi
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load(Stream, Boolean)usługę .