Freigeben über


IComponentConnector Schnittstelle

Definition

Bietet Infrastrukturunterstützung für Ereignisverkabelungs- und Buildaktionen.

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
Attribute

Beispiele

Der von Microsoft Visual Studio generierte Code für IComponentConnector, der dem oben beschriebenen Szenario "button1" entspricht, könnte wie folgt aussehen:

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

Hinweise

Wenn Sie die Funktionen eines XAML-Frameworks oder xaml-Entwurfstools nicht wesentlich erweitern, müssen Sie IComponentConnector wahrscheinlich nicht generieren oder implementieren. Die restlichen Hinweise dienen dazu, Sie an den Zweck von IComponentConnector im anwendungsbasierten App-Modell zu orientieren und die Rolle von IComponentConnector im generierten Code zu erläutern, den die Microsoft Visual Studio-Infrastruktur als Teil eines typischen XAML-Projekts erstellt.

Wenn Sie einem UWP-App-Projekt in Microsoft Visual Studio eine XAML-Seite hinzufügen, lautet die BuildAction standardmäßig Page. Beim Erstellen des Projekts werden alle Projektelemente mit dieser Buildaktion verarbeitet, und Codedateien, die der Programmiersprache des Projekts entsprechen, werden generiert. Die generierten Codedateien enthalten alle die Zeichenfolge ".g" in ihrem Namen und können nach der Kompilierung im Ordner obj des Projekts beobachtet werden. Die generierten Dateien implementieren einen Teil der partiellen Klassendefinition, die das anwendungsbasierte App-Modell verwendet, um XAML- und Codeaspekte einer App-Definition zu verbinden. Der Prozess zum Generieren partieller Klassen aus XAML wird manchmal als Markupkompilierung bezeichnet.

Jedes Element in XAML, das über einen XAML-Namen (x:Name-Attribut oder angewendetes Name-Attribut ) oder einen deklarierten Ereignishandler verfügt, generiert einen Aufruf von IComponentConnector.Connect innerhalb der generierten Codedatei. Der Infrastrukturcode für XAML-Buildaktionen definiert dann Felder, die den Namen der Elemente entsprechen. Wenn die Ereignisverkabelung in XAML erfolgt, fügen die Buildaktionen die Ereignishandler an die von XAML erstellten Instanzen an. Die Felder stellen den Zugriffspunkt bereit, den sowohl App-Code als auch Infrastrukturcode verwenden können, um auf das Objekt zu verweisen, das als Ergebnis der XAML-Analyse erstellt wird.

Wenn beispielsweise ein XAML-Element für eine Schaltfläche mit dem Namen "button1" in der XAML-Datei vorhanden ist und über ein Attribut für das Click-Ereignis verfügt, das auf eine benannte Handlermethode verweist, generiert Microsoft Visual Studio automatisch eine Implementierung der Connect-Methode über die IComponentConnector-Schnittstelle. Der connectionId-Parameter ist ein Bezeichnertoken zum Unterscheiden von Aufrufen, und der Zielparameter ist das Ziel, mit dem Ereignisse und Namen verbunden werden.

Methoden

Connect(Int32, Object)

Fügt Ereignisse und Namen an XAML-initiierten Inhalt an.

GetBindingConnector(Int32, Object)

Ruft den IComponentConnector für diese Verbindung ab.

Gilt für:

Weitere Informationen