Comparteix a través de


XamlReader.LoadAsync Método

Definición

Lee el marcado XAML y devuelve un objeto que corresponde a la raíz del marcado especificado.

Sobrecargas

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

Lee la entrada XAML del objeto Stream especificado y devuelve la raíz del árbol de objetos correspondiente.

LoadAsync(Stream)

Lee la entrada XAML del objeto Stream especificado y devuelve la raíz del árbol de objetos correspondiente.

LoadAsync(XmlReader)

Lee la entrada XAML del objeto XmlReader especificado y devuelve la raíz del árbol de objetos correspondiente.

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

Parámetros

stream
Stream
parserContext
ParserContext
useRestrictiveXamlReader
Boolean

Devoluciones

Comentarios

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Load(Stream, ParserContext, Boolean).

Se aplica a

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

Parámetros

reader
XmlReader
useRestrictiveXamlReader
Boolean

Devoluciones

Comentarios

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Load(XmlReader, Boolean).

Se aplica a

LoadAsync(Stream, ParserContext)

Lee la entrada XAML del objeto Stream especificado y devuelve la raíz del árbol de objetos correspondiente.

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

Parámetros

stream
Stream

Secuencia que contiene la entrada XAML que se va a cargar.

parserContext
ParserContext

Información de contexto utilizada por el analizador.

Devoluciones

Raíz del árbol de objetos creado.

Excepciones

stream es null.

Se realizan simultáneamente varias operaciones de carga con el mismo objeto XamlReader.

Comentarios

Una operación de carga XAML asincrónica devolverá inicialmente un objeto que es puramente el objeto raíz. De forma asincrónica, el análisis de XAML continúa y los objetos secundarios se rellenan bajo la raíz. Esto contrasta con el comportamiento típico de procesamiento XAML de WPF y su interacción con los conceptos de duración de objetos de WPF. En la interacción típica (no asincrónica), todas las propiedades de un objeto, incluidas todas las colecciones secundarias, se rellenan antes de devolver un elemento y notificarlo como cargado. Ese comportamiento equivale a una metodología de abajo arriba para crear el árbol donde el objeto raíz es el último objeto que estará disponible.

Normalmente, asignaría el objeto devuelto a alguna ubicación en el árbol de objetos de la aplicación, con el conocimiento de que el contenido podría estar rellenando y podría provocar actualizaciones de diseño incrementales si todo el contenido se expone como parte de la interfaz de usuario. Por este motivo, es habitual aislar o virtualizar cualquier objeto cargado asincrónicamente de XAML y usar la lógica específica de la aplicación o el estado de la aplicación para notificar cuándo LoadCompleted se controla.

Para LoadAsync cargar el marcado de forma asincrónica, el elemento raíz del marcado XAML debe contener el atributo y el valor x:SynchronousMode="Async". El valor se trata como distingue mayúsculas de minúsculas. Si la raíz de marcado XAML no contiene x:SynchronousMode="Async", no se produce ninguna excepción y la llamada se procesa como una carga sincrónica (consulte Load(Stream, ParserContext)).

Solo se puede realizar una operación de carga asincrónica por instancia de la XamlReader clase a la vez. Si se intenta realizar más de una operación asincrónica en la misma instancia de la XamlReader clase , se produce una InvalidOperationException excepción .

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Load(Stream, ParserContext).

Consulte también

Se aplica a

LoadAsync(Stream)

Lee la entrada XAML del objeto Stream especificado y devuelve la raíz del árbol de objetos correspondiente.

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

Parámetros

stream
Stream

Secuencia que contiene la entrada XAML que se va a cargar.

Devoluciones

Objeto que es la raíz del árbol de objetos creado.

Excepciones

stream es null.

Se realizan simultáneamente varias operaciones de carga con el mismo objeto XamlReader.

Comentarios

Una operación de carga XAML asincrónica devolverá inicialmente un objeto que es puramente el objeto raíz. De forma asincrónica, el análisis de XAML continúa y los objetos secundarios se rellenan bajo la raíz. Esto contrasta con el comportamiento típico de procesamiento XAML de WPF y su interacción con los conceptos de duración de objetos de WPF. En la interacción típica (no asincrónica), todas las propiedades de un objeto, incluidas todas las colecciones secundarias, se rellenan antes de devolver un elemento y notificarlo como cargado. Ese comportamiento equivale a una metodología de abajo arriba para crear el árbol donde el objeto raíz es el último objeto que estará disponible.

Normalmente, asignaría el objeto devuelto a alguna ubicación en el árbol de objetos de la aplicación WPF, con el conocimiento de que el contenido podría estar rellenando y podría provocar actualizaciones de diseño incrementales si todo el contenido se expone como parte de la interfaz de usuario. Por este motivo, es habitual aislar o virtualizar cualquier objeto cargado asincrónicamente de XAML y usar la lógica específica de la aplicación o el estado de la aplicación para notificar cuándo LoadCompleted se controla.

Para cargar LoadAsync la entrada XAML de forma asincrónica, el elemento raíz de la entrada XAML debe contener el atributo y el valor x:SynchronousMode="Async". El valor se trata como distingue mayúsculas de minúsculas. Si la raíz de entrada XAML no contiene x:SynchronousMode="Async", no se produce ninguna excepción y la llamada se procesa como una carga sincrónica (consulte Load(Stream)).

Solo se puede realizar una operación de carga asincrónica por instancia de la XamlReader clase a la vez. Si se intenta realizar más de una operación asincrónica en la misma instancia de la XamlReader clase , se produce una InvalidOperationException excepción .

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Load(Stream).

Consulte también

Se aplica a

LoadAsync(XmlReader)

Lee la entrada XAML del objeto XmlReader especificado y devuelve la raíz del árbol de objetos correspondiente.

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

Parámetros

reader
XmlReader

XmlReader Existente que ya ha cargado o leído la entrada XAML.

Devoluciones

Raíz del árbol de objetos creado.

Excepciones

reader es null.

Se realizan simultáneamente varias operaciones de carga con el mismo objeto XamlReader.

Comentarios

Una operación de carga XAML asincrónica devolverá inicialmente un objeto que es puramente el objeto raíz. De forma asincrónica, el análisis de XAML continúa y los objetos secundarios se rellenan bajo la raíz. Esto contrasta con el comportamiento típico de procesamiento XAML de WPF y su interacción con los conceptos de duración de objetos de WPF. En la interacción típica (no asincrónica), todas las propiedades de un objeto, incluidas todas las colecciones secundarias, se rellenan antes de devolver un elemento y notificarlo como cargado. Ese comportamiento equivale a una metodología de abajo arriba para crear el árbol donde el objeto raíz es el último objeto que estará disponible.

Normalmente, asignaría el objeto devuelto de LoadAsync a alguna ubicación en el árbol de objetos de la aplicación, con el conocimiento de que el contenido podría estar rellenando y podría provocar actualizaciones de diseño incrementales si todo el contenido se expone como parte de la interfaz de usuario. Por este motivo, es habitual aislar o virtualizar cualquier objeto cargado asincrónicamente de XAML y usar la lógica específica de la aplicación o el estado de la aplicación para notificar cuándo LoadCompleted se controla.

Para cargar LoadAsync la entrada XAML de forma asincrónica, el elemento raíz del marcado XAML debe contener el atributo y el valor x:SynchronousMode="Async". El valor se trata como distingue mayúsculas de minúsculas. Si la raíz de marcado XAML no contiene x:SynchronousMode="Async", no se produce ninguna excepción y la llamada se procesa en su lugar como una carga sincrónica (consulte Load(XmlReader)).

Solo se puede realizar una operación de carga asincrónica por instancia de la XamlReader clase a la vez. Si se intenta realizar más de una operación asincrónica en la misma instancia de la XamlReader clase , se produce una InvalidOperationException excepción .

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Load(XmlReader).

Consulte también

Se aplica a

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

Parámetros

stream
Stream
useRestrictiveXamlReader
Boolean

Devoluciones

Comentarios

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Load(Stream, Boolean).

Se aplica a