XamlReader.LoadAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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).