Udostępnij za pośrednictwem


XamlReader.LoadAsync Metoda

Definicja

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

reader
XmlReader

Istniejący XmlReader , który już załadował/odczytał dane wejściowe XAML.

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ę .

Dotyczy