Partilhar via


XamlReader.LoadAsync Método

Definição

Lê a marcação XAML e retorna um objeto que corresponde à raiz da marcação especificada.

Sobrecargas

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

Lê a entrada XAML no Stream especificado e retorna a raiz da árvore de objetos correspondente.

LoadAsync(Stream)

Lê a entrada XAML no Stream especificado e retorna a raiz da árvore de objetos correspondente.

LoadAsync(XmlReader)

Lê a entrada XAML no XmlReader especificado e retorna a raiz da árvore de objetos correspondente.

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

Retornos

Comentários

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Load(Stream, ParserContext, Boolean).

Aplica-se 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

Retornos

Comentários

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Load(XmlReader, Boolean).

Aplica-se a

LoadAsync(Stream, ParserContext)

Lê a entrada XAML no Stream especificado e retorna a raiz da árvore de objetos correspondente.

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

Um fluxo que contém a entrada XAML a ser carregada.

parserContext
ParserContext

Informações de contexto usadas pelo analisador.

Retornos

A raiz da árvore de objetos criada.

Exceções

stream é null.

Várias operações de carregamento são executadas simultaneamente com o mesmo XamlReader.

Comentários

Uma operação de carga XAML assíncrona retornará inicialmente um objeto que é puramente o objeto raiz. De forma assíncrona, a análise XAML continua e todos os objetos filho são preenchidos sob a raiz. Isso contrasta com o comportamento típico de processamento XAML do WPF e sua interação com os conceitos do WPF de tempo de vida do objeto. Na interação típica (não assíncrona), todas as propriedades de um objeto, incluindo todas as coleções filho, são preenchidas antes de retornar um elemento e reportá-lo como carregado. Esse comportamento equivale a uma metodologia de baixo para cima para criar a árvore em que o objeto raiz é o último objeto a ficar disponível.

Normalmente, você atribuiria o objeto retornado a algum local na árvore de objetos do aplicativo, com o conhecimento de que o conteúdo ainda pode estar preenchendo e pode causar atualizações de layout incrementais se todo o conteúdo for exposto como parte da interface do usuário. Por esse motivo, é comum isolar ou virtualizar objetos carregados de forma assíncrona do XAML e usar a lógica específica do aplicativo ou o estado do aplicativo para notificar quando LoadCompleted é manipulado.

Para LoadAsync carregar a marcação de forma assíncrona, o elemento raiz na marcação XAML deve conter o atributo e o valor x:SynchronousMode="Async". O valor é tratado como diferencial de maiúsculas de minúsculas. Se a raiz de marcação XAML não contiver x:SynchronousMode="Async", nenhuma exceção será gerada e a chamada será processada como uma carga síncrona (consulte Load(Stream, ParserContext)).

Somente uma operação de carga assíncrona por instância da XamlReader classe pode ser executada por vez. Se mais de uma operação assíncrona for tentada na mesma instância da XamlReader classe, uma InvalidOperationException será gerada.

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Load(Stream, ParserContext).

Confira também

Aplica-se a

LoadAsync(Stream)

Lê a entrada XAML no Stream especificado e retorna a raiz da árvore de objetos correspondente.

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

O fluxo que contém a entrada XAML a ser carregada.

Retornos

O objeto que é a raiz da árvore de objetos criada.

Exceções

stream é null.

Várias operações de carregamento estão pendentes simultaneamente com o mesmo XamlReader.

Comentários

Uma operação de carga XAML assíncrona retornará inicialmente um objeto que é puramente o objeto raiz. De forma assíncrona, a análise XAML continua e todos os objetos filho são preenchidos sob a raiz. Isso contrasta com o comportamento típico de processamento XAML do WPF e sua interação com os conceitos do WPF de tempo de vida do objeto. Na interação típica (não assíncrona), todas as propriedades de um objeto, incluindo todas as coleções filho, são preenchidas antes de retornar um elemento e reportá-lo como carregado. Esse comportamento equivale a uma metodologia de baixo para cima para criar a árvore em que o objeto raiz é o último objeto a ficar disponível.

Normalmente, você atribuiria o objeto retornado a algum local na árvore de objetos do aplicativo WPF, com o conhecimento de que o conteúdo ainda pode estar preenchendo e pode causar atualizações de layout incrementais se todo o conteúdo for exposto como parte da interface do usuário. Por esse motivo, é comum isolar ou virtualizar objetos carregados de forma assíncrona do XAML e usar a lógica específica do aplicativo ou o estado do aplicativo para notificar quando LoadCompleted é manipulado.

Para LoadAsync carregar a entrada XAML de forma assíncrona, o elemento raiz na entrada XAML deve conter o atributo e o valor x:SynchronousMode="Async". O valor é tratado como diferencial de maiúsculas de minúsculas. Se a raiz de entrada XAML não contiver x:SynchronousMode="Async", nenhuma exceção será gerada e a chamada será processada como uma carga síncrona (consulte Load(Stream)).

Somente uma operação de carga assíncrona por instância da XamlReader classe pode ser executada por vez. Se mais de uma operação assíncrona for tentada na mesma instância da XamlReader classe, uma InvalidOperationException será gerada.

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Load(Stream).

Confira também

Aplica-se a

LoadAsync(XmlReader)

Lê a entrada XAML no XmlReader especificado e retorna a raiz da árvore de objetos correspondente.

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

Um existente XmlReader que já carregou/leu a entrada XAML.

Retornos

A raiz da árvore de objetos criada.

Exceções

reader é null.

Várias operações de carregamento são executadas simultaneamente com o mesmo XamlReader.

Comentários

Uma operação de carga XAML assíncrona retornará inicialmente um objeto que é puramente o objeto raiz. De forma assíncrona, a análise XAML continua e todos os objetos filho são preenchidos sob a raiz. Isso contrasta com o comportamento típico de processamento XAML do WPF e sua interação com os conceitos do WPF de tempo de vida do objeto. Na interação típica (não assíncrona), todas as propriedades de um objeto, incluindo todas as coleções filho, são preenchidas antes de retornar um elemento e reportá-lo como carregado. Esse comportamento equivale a uma metodologia de baixo para cima para criar a árvore em que o objeto raiz é o último objeto a ficar disponível.

Normalmente, você atribuiria o objeto retornado de LoadAsync a algum local na árvore de objetos do aplicativo, com o conhecimento de que o conteúdo ainda pode estar preenchendo e pode causar atualizações de layout incrementais se todo o conteúdo for exposto como parte da interface do usuário. Por esse motivo, é comum isolar ou virtualizar objetos carregados de forma assíncrona do XAML e usar a lógica específica do aplicativo ou o estado do aplicativo para notificar quando LoadCompleted é manipulado.

Para LoadAsync carregar a entrada XAML de forma assíncrona, o elemento raiz na marcação XAML deve conter o atributo e o valor x:SynchronousMode="Async". O valor é tratado como diferencial de maiúsculas de minúsculas. Se a raiz de marcação XAML não contiver x:SynchronousMode="Async", nenhuma exceção será gerada e a chamada será processada como uma carga síncrona (consulte Load(XmlReader)).

Somente uma operação de carga assíncrona por instância da XamlReader classe pode ser executada por vez. Se mais de uma operação assíncrona for tentada na mesma instância da XamlReader classe, uma InvalidOperationException será gerada.

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Load(XmlReader).

Confira também

Aplica-se 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

Retornos

Comentários

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Load(Stream, Boolean).

Aplica-se a