IComponentConnector Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece suporte à infraestrutura para redes de eventos e ações de build.
public interface class IComponentConnector
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(4135127431, 59109, 18418, 146, 198, 236, 204, 228, 186, 21, 154)]
struct IComponentConnector
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(4135127431, 59109, 18418, 146, 198, 236, 204, 228, 186, 21, 154)]
public interface IComponentConnector
Public Interface IComponentConnector
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
O código gerado pelo Microsoft Visual Studio para IComponentConnector que faz o paralelo do cenário "button1" descrito acima pode ser semelhante ao seguinte:
partial class MainPage : Windows.UI.Xaml.Controls.Page, IComponentConnector
{
[System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void Connect(int connectionId, object target)
{
switch(connectionId)
{
case 1:
#line 21 "..\..\MainPage.xaml"
((Windows.UI.Xaml.Controls.Primitives.ButtonBase)(target)).Click += this.button1_Click_1;
#line default
#line hidden
break;
}
this._contentLoaded = true;
}
}
Comentários
Windows 10 Aplicativos compilados pelo compilador XAML para Windows 10 implementam IComponentConnector2. Os aplicativos retornarão ao IComponentConnector para compatibilidade, se necessário.
A menos que você esteja estendendo substancialmente os recursos de uma estrutura XAML ou ferramentas de design XAML, você provavelmente não precisará gerar ou implementar IComponentConnector. O restante das observações aqui destina-se a orientá-lo para a finalidade de IComponentConnector no modelo de aplicativo baseado em aplicativo e explicar a função de IComponentConnector no código gerado que a infraestrutura do Microsoft Visual Studio cria como parte de um projeto XAML típico.
Por padrão, quando você adiciona uma página XAML a um projeto de aplicativo UWP no Microsoft Visual Studio, seu BuildAction é Page. Quando você cria o projeto, todos os itens de projeto com essa ação de build são processados e os arquivos de código que correspondem à escolha da linguagem de programação do projeto são gerados. Todos os arquivos de código gerados contêm a cadeia de caracteres ".g" em seu nome e podem ser observados na pasta obj do projeto após a compilação. Os arquivos gerados implementam uma parte da definição de classe parcial que o modelo de aplicativo baseado em aplicativo usa para conectar XAML e aspectos de código de uma definição de aplicativo. Às vezes, o processo de geração de classes parciais de XAML é chamado de compilação de marcação.
Cada elemento em XAML que tem um nome XAML (atributo x:Name ou atributo Name aplicado) ou um manipulador de eventos declarado gera uma chamada para IComponentConnector.Connect dentro do arquivo de código gerado. O código de infraestrutura para ações de build XAML define campos que correspondem aos nomes nos elementos. Se houver fiação de evento feita em XAML, as ações de build anexarão os manipuladores de eventos às instâncias criadas por XAML. Os campos fornecem o ponto de acesso que o código do aplicativo e o código de infraestrutura podem usar para fazer referência ao objeto que é criado como resultado da análise do XAML.
Por exemplo, se houver um elemento XAML para um Button chamado "button1" no arquivo XAML e ele tiver um atributo para o evento Click que faz referência a um método de manipulador nomeado, o Microsoft Visual Studio irá gerar automaticamente uma implementação do método Connect da interface IComponentConnector. O parâmetro connectionId é um token de identificador para distinguir chamadas e o parâmetro de destino é o destino para conectar eventos e nomes.
Métodos
Connect(Int32, Object) |
Anexa eventos e nomes ao conteúdo iniciado por XAML. |