IComponentConnector インターフェイス

定義

イベント配線とビルド アクションのインフラストラクチャ サポートを提供します。

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
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

上記の "button1" シナリオと並行する IComponentConnector 用の Microsoft Visual Studio で生成されたコードは、次のようになります。

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

注釈

Windows 10IComponentConnector2 を実装するために XAML コンパイラによってコンパイルWindows 10アプリ。 アプリは、必要に応じて互換性のために IComponentConnector にフォールバックします。

XAML フレームワークまたは XAML デザイン ツールの機能を大幅に拡張する場合を除き、IComponentConnector を生成または実装する必要はありません。 ここで説明する残りの部分は、 アプリケーション ベースのアプリ モデルの IComponentConnector の目的を理解し、Microsoft Visual Studio インフラストラクチャが一般的な XAML プロジェクトの一部として作成する生成されたコードにおける IComponentConnector の役割について説明することを目的としています。

既定では、Microsoft Visual Studio で UWP アプリ プロジェクトに XAML ページを追加すると、 その BuildActionPage になります。 プロジェクトをビルドすると、そのビルド アクションを持つすべてのプロジェクト 項目が処理され、プロジェクトのプログラミング言語の選択に一致するコード ファイルが生成されます。 生成されたコード ファイルはすべて、名前に文字列 ".g" が含まれており、コンパイル後にプロジェクトの obj フォルダーで確認できます。 生成されたファイルは、 アプリケーション ベースのアプリ モデルが XAML とアプリ定義のコードの側面を接続するために使用する部分クラス定義の 1 つの部分を実装します。 XAML から部分クラスを生成するプロセスは、マークアップ コンパイルと呼ばれることもあります。

XAML 名 (x:Name 属性 または Name 属性が適用されている) または宣言されたイベント ハンドラーを持つ XAML 内のすべての要素は、生成されたコード ファイル内で IComponentConnector.Connect の呼び出しを生成します。 次に、XAML ビルド アクションのインフラストラクチャ コードで、要素の名前に一致するフィールドを定義します。 XAML でイベント配線が実行されている場合、ビルド アクションは、XAML で作成されたインスタンスにイベント ハンドラーをアタッチします。 フィールドは、アプリ コードとインフラストラクチャ コードの両方が XAML の解析の結果として作成されたオブジェクトを参照するために使用できるアクセス ポイントを提供します。

たとえば、XAML ファイルに "button1" という名前の ボタン の XAML 要素があり、名前付きハンドラー メソッドを参照する Click イベントの属性がある場合、Microsoft Visual Studio は IComponentConnector インターフェイスから Connect メソッドの実装を自動生成します。 connectionId パラメーターは呼び出しを区別するための識別子トークンであり、ターゲット パラメーターはイベントと名前を接続するターゲットです。

メソッド

Connect(Int32, Object)

XAML によって開始されるコンテンツにイベントと名前をアタッチします。

適用対象

こちらもご覧ください