IComponentConnector Interfaz

Definición

Proporciona compatibilidad con la infraestructura para el cableado de eventos y las acciones de compilación.

public interface class IComponentConnector
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2906658834, 45201, 20944, 185, 21, 45, 104, 44, 210, 175, 16)]
struct IComponentConnector
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.Guid(2906658834, 45201, 20944, 185, 21, 45, 104, 44, 210, 175, 16)]
public interface IComponentConnector
Public Interface IComponentConnector
Atributos

Ejemplos

El código generado por Microsoft Visual Studio para IComponentConnector que en paralelo con el escenario "button1" descrito anteriormente podría ser similar al siguiente:

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;
        }
    }

Comentarios

A menos que estés ampliando sustancialmente las funcionalidades de un marco XAML o herramientas de diseño XAML, probablemente no tendrás que generar ni implementar IComponentConnector. El resto de los comentarios aquí están pensados para orientarte al propósito de IComponentConnector en el modelo de aplicación basado en aplicaciones y explicar el rol de IComponentConnector en el código generado que crea la infraestructura de Microsoft Visual Studio como parte de un proyecto XAML típico.

De forma predeterminada, cuando agregas una página XAML a un proyecto de aplicación para UWP en Microsoft Visual Studio, su BuildAction es Page. Al compilar el proyecto, se procesan todos los elementos de proyecto con esa acción de compilación y se generan archivos de código que coincidan con la elección del lenguaje de programación del proyecto. Los archivos de código generados contienen la cadena ".g" en su nombre y se pueden observar en la carpeta obj del proyecto después de la compilación. Los archivos generados implementan una parte de la definición de clase parcial que usa el modelo de aplicación basado en aplicaciones para conectar XAML y aspectos de código de una definición de aplicación. El proceso de generación de clases parciales a partir de XAML se conoce a veces como compilación de marcado.

Cada elemento de XAML que tiene un nombre XAML (atributo x:Name o atributo Name aplicado) o un controlador de eventos declarado genera una llamada a IComponentConnector.Connect dentro del archivo de código generado. A continuación, el código de infraestructura para las acciones de compilación XAML define los campos que coinciden con los nombres de los elementos. Si se realiza el cableado de eventos en XAML, las acciones de compilación adjuntan los controladores de eventos a las instancias creadas por XAML. Los campos proporcionan el punto de acceso que el código de la aplicación y el código de infraestructura pueden usar para hacer referencia al objeto que se crea como resultado de analizar el XAML.

Por ejemplo, si hay un elemento XAML para un Button denominado "button1" en el archivo XAML y tiene un atributo para el evento Click que hace referencia a un método de controlador con nombre, Microsoft Visual Studio generará automáticamente una implementación del método Connect desde la interfaz IComponentConnector. El parámetro connectionId es un token de identificador para distinguir las llamadas y el parámetro de destino es el destino para conectar eventos y nombres.

Métodos

Connect(Int32, Object)

Asocia eventos y nombres al contenido iniciado por XAML.

GetBindingConnector(Int32, Object)

Recupera IComponentConnector para esta conexión.

Se aplica a

Consulte también