Partager via


IComponentConnector Interface

Définition

Fournit la prise en charge de l’infrastructure pour le câblage d’événements et les actions de génération.

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
Attributs

Exemples

Le code généré par Microsoft Visual Studio pour IComponentConnector qui met en parallèle le scénario « button1 » décrit ci-dessus peut ressembler à ce qui suit :

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

Remarques

Sauf si vous étendez considérablement les fonctionnalités d’un framework XAML ou d’outils de conception XAML, vous n’aurez probablement pas besoin de générer ou d’implémenter IComponentConnector. Le reste des remarques ici sont destinées à vous orienter vers l’objectif de IComponentConnector dans le modèle d’application basé sur l’application et à expliquer le rôle de IComponentConnector dans le code généré que l’infrastructure Microsoft Visual Studio crée dans le cadre d’un projet XAML classique.

Par défaut, lorsque vous ajoutez une page XAML à un projet d’application UWP dans Microsoft Visual Studio, buildAction a la valeur Page. Lorsque vous générez le projet, tous les éléments de projet avec cette action de génération sont traités et les fichiers de code qui correspondent au choix du langage de programmation du projet sont générés. Les fichiers de code générés contiennent tous la chaîne « .g » dans leur nom et peuvent être observés dans le dossier obj du projet après la compilation. Les fichiers générés implémentent une partie de la définition de classe partielle que le modèle d’application basé sur l’application utilise pour connecter les aspects XAML et code d’une définition d’application. Le processus de génération de classes partielles à partir de XAML est parfois appelé compilation de balisage.

Chaque élément XAML qui a un nom XAML (attribut x :Name ou attribut Name appliqué) ou un gestionnaire d’événements déclaré génère un appel à IComponentConnector.Connect dans le fichier de code généré. Le code d’infrastructure pour les actions de génération XAML définit ensuite des champs qui correspondent aux noms des éléments. Si le câblage d’événements est effectué en XAML, les actions de génération attachent les gestionnaires d’événements aux instances créées par XAML. Les champs fournissent le point d’accès que le code d’application et le code d’infrastructure peuvent utiliser pour référencer l’objet créé à la suite de l’analyse du code XAML.

Par exemple, s’il existe un élément XAML pour un Button nommé « button1 » dans le fichier XAML et qu’il a un attribut pour l’événement Click qui fait référence à une méthode de gestionnaire nommée, Microsoft Visual Studio génère automatiquement une implémentation de la méthode Connect à partir de l’interface IComponentConnector. Le paramètre connectionId est un jeton d’identificateur permettant de distinguer les appels, et le paramètre cible est la cible à laquelle connecter les événements et les noms.

Méthodes

Connect(Int32, Object)

Joint des événements et des noms au contenu initié par XAML.

GetBindingConnector(Int32, Object)

Récupère iComponentConnector pour cette connexion.

S’applique à

Voir aussi