Freigeben über


IComponentConnector Schnittstelle

Definition

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

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
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

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

Windows 10 Apps, die vom XAML-Compiler kompiliert wurden, um IComponentConnector2 Windows 10 implementieren. Apps greifen bei Bedarf auf IComponentConnector zurück, um die Kompatibilität zu gewährleisten.

Wenn Sie die Funktionen eines XAML-Frameworks oder xaml-Entwurfstools nicht erheblich erweitern, müssen Sie IComponentConnector wahrscheinlich nicht generieren oder implementieren. Die weiteren Hinweise sollen Sie auf den Zweck von IComponentConnector im anwendungsbasierten App-Modell ausrichten und die Rolle von IComponentConnector im generierten Code 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 der Generierung partieller Klassen aus XAML wird manchmal als Markupkompilierung bezeichnet.

Jedes Element in XAML mit einem XAML-Namen (x:Name-Attribut oder Angewendetem Name-Attribut ) oder einem deklarierten Ereignishandler generiert einen Aufruf von IComponentConnector.Connect in der generierten Codedatei. Der Infrastrukturcode für XAML-Buildaktionen definiert dann Felder, die mit den Namen für die Elemente übereinstimmen. Wenn die Ereignisverdrahtung in XAML erfolgt, werden die Ereignishandler durch die Buildaktionen an die von XAML erstellten Instanzen angefügt. 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 Analyse des XAML 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 können.

Methoden

Connect(Int32, Object)

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

Gilt für:

Weitere Informationen