IComponentConnector インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
イベントの配線とビルド アクションのインフラストラクチャ サポートを提供します。
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
- 属性
例
上記の "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;
}
}
注釈
XAML フレームワークまたは XAML デザイン ツールの機能を大幅に拡張する場合を除き、おそらく IComponentConnector を生成または実装する必要はありません。 ここでの残りの説明は、 アプリケーション ベースのアプリ モデルの IComponentConnector の目的に合わせ、Microsoft Visual Studio インフラストラクチャが一般的な XAML プロジェクトの一部として作成する生成されたコードにおける IComponentConnector の役割について説明するためのものです。
既定では、Microsoft Visual Studio で UWP アプリ プロジェクトに XAML ページを追加すると、 その BuildAction は Page になります。 プロジェクトをビルドすると、そのビルド アクションを持つすべてのプロジェクト 項目が処理され、プロジェクトのプログラミング言語の選択に一致するコード ファイルが生成されます。 生成されたコード ファイルには、すべて名前に文字列 ".g" が含まれており、コンパイル後にプロジェクトの obj フォルダーで確認できます。 生成されたファイルは、 アプリケーション ベースのアプリ モデルがアプリ定義の XAML とコードの側面を接続するために使用する部分クラス定義の 1 つの部分を実装します。 XAML から部分クラスを生成するプロセスは、マークアップ コンパイルと呼ばれることもあります。
XAML 名 (x:Name 属性 または Name 属性が適用されている) または宣言されたイベント ハンドラーを持つ XAML 内のすべての要素は、生成されたコード ファイル内で IComponentConnector.Connect の呼び出しを生成します。 次に、XAML ビルド アクションのインフラストラクチャ コードによって、要素の名前に一致するフィールドが定義されます。 XAML でイベントの関連付けが行われている場合、ビルド アクションは、XAML で作成されたインスタンスにイベント ハンドラーをアタッチします。 フィールドは、アプリ コードとインフラストラクチャ コードの両方が、XAML の解析の結果として作成されたオブジェクトを参照するために使用できるアクセス ポイントを提供します。
たとえば、XAML ファイルに " button1 " という名前の Button の XAML 要素があり、名前付きハンドラー メソッドを参照する Click イベントの属性がある場合、Microsoft Visual Studio は、IComponentConnector インターフェイスから Connect メソッドの実装を自動生成します。 connectionId パラメーターは呼び出しを区別するための識別子トークンであり、ターゲット パラメーターはイベントと名前を接続するターゲットです。
メソッド
Connect(Int32, Object) |
XAML によって開始されるコンテンツにイベントと名前をアタッチします。 |
GetBindingConnector(Int32, Object) |
この接続の IComponentConnector を取得します。 |