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 中引入)

示例

Microsoft Visual Studio 为与上述“button1”方案并行的 IComponentConnector 生成的代码可能如下所示:

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 10 XAML 编译器为Windows 10实现 IComponentConnector2 编译的应用。 如有必要,为了兼容,应用将回退到 IComponentConnector。

除非大幅扩展 XAML 框架或 XAML 设计工具的功能,否则可能不需要生成或实现 IComponentConnector。 此处的其余部分旨在介绍基于 应用程序的应用模型中 IComponentConnector 的用途,并说明 IComponentConnector 在 Microsoft Visual Studio 基础结构作为典型 XAML 项目的一部分创建的生成代码中的角色。

默认情况下,将 XAML 页面添加到 Microsoft Visual Studio 中的 UWP 应用项目时,其 BuildActionPage。 生成项目时,将处理具有该生成操作的所有项目项,并生成与项目的编程语言选择匹配的代码文件。 生成的代码文件的名称中都包含字符串“.g”,编译后可在项目的 obj 文件夹中观察到。 生成的文件实现分部类定义的一部分,基于 应用程序的应用模型使用该部分来连接应用定义的 XAML 和代码方面。 从 XAML 生成分部类的过程有时称为 标记编译。

XAML 中每个具有 xaml 名称 (x:Name 属性 或应用) 或声明的事件处理程序 的 Name 属性的元素都会在生成的代码文件中生成对 IComponentConnector.Connect 的调用。 然后,XAML 生成操作的基础结构代码定义与元素上的名称匹配的字段。 如果在 XAML 中完成了事件连接,则生成操作会将事件处理程序附加到 XAML 创建的实例。 字段提供访问点,应用代码和基础结构代码都可以使用该访问点来引用由于分析 XAML 而创建的对象。

例如,如果 XAML 文件中的 Button 有一个名为“button1”的 XAML 元素,并且它具有引用命名处理程序方法的 Click 事件的属性,则 Microsoft Visual Studio 将从 IComponentConnector 接口自动生成 Connect 方法的实现。 connectionId 参数是用于区分调用的标识符标记,目标参数是将事件和名称连接到的目标。

方法

Connect(Int32, Object)

将事件和名称附加到 XAML 启动的内容。

适用于

另请参阅