Compartilhar via


Application.LoadComponent Método

Definição

Sobrecargas

LoadComponent(Object, Uri)

Carrega um arquivo XAML localizado no local relativo especificado e o converte em uma instância do objeto especificada pelo elemento raiz do arquivo XAML.

LoadComponent(Object, Uri, ComponentResourceLocation)

Carrega um arquivo XAML localizado no local relativo especificado e o converte em uma instância do objeto especificada pelo elemento raiz do arquivo XAML.

LoadComponent(Object, Uri)

Carrega um arquivo XAML localizado no local relativo especificado e o converte em uma instância do objeto especificada pelo elemento raiz do arquivo XAML.

public:
 static void LoadComponent(Platform::Object ^ component, Uri ^ resourceLocator);
/// [Windows.Foundation.Metadata.Overload("LoadComponent")]
 static void LoadComponent(IInspectable const& component, Uri const& resourceLocator);
[Windows.Foundation.Metadata.Overload("LoadComponent")]
public static void LoadComponent(object component, System.Uri resourceLocator);
function loadComponent(component, resourceLocator)
Public Shared Sub LoadComponent (component As Object, resourceLocator As Uri)

Parâmetros

component
Object

Platform::Object

IInspectable

Um objeto do mesmo tipo que o elemento raiz do conteúdo XAML a ser carregado.

resourceLocator
Uri Uri

Um objeto que descreve o caminho do URI (Uniform Resource Identifier) para o recurso a ser carregado.

Atributos

Comentários

LoadComponent existe principalmente para infraestrutura. Você pode ver LoadComponent como parte da lógica InitializeComponent gerada que integra as classes parciais de uma página XAML e seu code-behind.

LoadComponent às vezes é citado em uma pilha de chamadas para uma exceção que é, em última análise, porque seu aplicativo está tentando analisar XAML inválido. Nesse caso, não há nada que o código do aplicativo possa fazer para alterar a forma como LoadComponent é usado e a maneira de corrigir o problema é marcar sua fonte XAML em um editor XML e corrigi-lo. O que pode ser útil na mensagem de rastreamento de pilha é confirmar qual arquivo XAML não está carregando. Em cenários em que você mescla recursos ou outras várias fontes XAML que estão sendo combinadas, nem sempre é o XAML de nível de página óbvio que não está conseguindo analisar.

A maioria dos cenários de aplicativo que envolvem o carregamento de conteúdo XAML e a produção de uma árvore de objetos deve usar XamlReader.Load .

Otimização de carregamento de recursos no Windows 8.1

Começando com Windows 8.1, há uma otimização de carregamento de recursos habilitada pelo modelo de aplicativo e pelo analisador XAML do Windows Runtime. LoadComponent está envolvido nesse cenário porque é invocado internamente para realmente carregar qualquer dicionário de recursos proveniente de um arquivo XAML, incluindo aqueles para MergedDictionaries. Para o Windows 8, o analisador XAML carregou recursos de app.xaml e criou cada um deles como objetos como parte da inicialização. Isso não era muito eficiente se houvesse grandes dicionários lá. Além disso, esses recursos incluíam os itens que eram necessários para todos os três temas, e dois dos três temas nem sequer estariam ativos. Começando com Windows 8.1, o analisador XAML só cria os recursos quando eles são solicitados especificamente. A solicitação pode vir de outros recursos ou do aplicativo ou da página XAML à medida que cada um é carregado. Esse comportamento do analisador minimiza o tempo necessário para ler o dicionário no nível do aplicativo no momento da inicialização e permite que a primeira página do aplicativo seja carregada mais rapidamente na maioria dos casos. Os recursos necessários para outros temas inativos no momento só serão carregados se esse tema for escolhido para se tornar o tema ativo pelo usuário. Nesse momento, qualquer recurso em que a extensão de marcação {ThemeResource} foi usada para a solicitação é recalculado com base no tema recém-ativo.

Comportamento do Windows 8

O Windows 8 não tinha as otimizações descritas acima. O ResourceDictionary para Application.Resources teve que concluir a análise antes que qualquer página diferente da tela inicial pudesse ser carregada na Janela do aplicativo. Por isso, você pode ver algumas diferenças de tempo ao redirecionar seu aplicativo para Windows 8.1. O aplicativo deve estar carregando mais rapidamente, no entanto, talvez não seja possível isolar essa melhoria em relação a outras alterações feitas no código do aplicativo como parte do redirecionamento. Alguns dos locais em que você pode ver evidências de alterações de tempo devido ao carregamento otimizado de recursos incluem quando os construtores são chamados pelo analisador, para objetos como objetos Application , conversores ou outras classes personalizadas. Os aplicativos que foram compilados para Windows 8, mas estão sendo executados no Windows 8.1, continuam a adotar o comportamento do Windows 8.

Para obter mais informações sobre desempenho e fatoramento de recursos XAML, consulte Otimizar sua marcação XAML.

Confira também

Aplica-se a

LoadComponent(Object, Uri, ComponentResourceLocation)

Carrega um arquivo XAML localizado no local relativo especificado e o converte em uma instância do objeto especificada pelo elemento raiz do arquivo XAML.

public:
 static void LoadComponent(Platform::Object ^ component, Uri ^ resourceLocator, ComponentResourceLocation componentResourceLocation);
/// [Windows.Foundation.Metadata.Overload("LoadComponentWithResourceLocation")]
 static void LoadComponent(IInspectable const& component, Uri const& resourceLocator, ComponentResourceLocation const& componentResourceLocation);
[Windows.Foundation.Metadata.Overload("LoadComponentWithResourceLocation")]
public static void LoadComponent(object component, System.Uri resourceLocator, ComponentResourceLocation componentResourceLocation);
function loadComponent(component, resourceLocator, componentResourceLocation)
Public Shared Sub LoadComponent (component As Object, resourceLocator As Uri, componentResourceLocation As ComponentResourceLocation)

Parâmetros

component
Object

Platform::Object

IInspectable

Um objeto do mesmo tipo que o elemento raiz do conteúdo XAML a ser carregado.

resourceLocator
Uri Uri

Um objeto que descreve o caminho do URI (Uniform Resource Identifier) para o recurso a ser carregado.

componentResourceLocation
ComponentResourceLocation

Um valor da enumeração.

Atributos

Confira também

Aplica-se a