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 для IComponentConnector, который соответствует описанному выше сценарию button1, может выглядеть следующим образом:

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 в проект приложения UWP в Microsoft Visual Studio ее действие BuildAction имеет значение Page. При сборке проекта обрабатываются все элементы проекта с этим действием сборки и создаются файлы кода, соответствующие выбранному языку программирования проекта. Все созданные файлы кода содержат строку ".g" в имени и могут наблюдаться в папке obj проекта после компиляции. Созданные файлы реализуют одну часть определения разделяемого класса, которое модель приложения на основе приложений использует для соединения XAML и аспектов кода определения приложения. Процесс создания разделяемых классов из XAML иногда называют компиляцией разметки.

Каждый элемент в XAML с именем XAML (атрибут x:Name или Атрибут Name применен) или объявлен обработчиком событий, создает вызов IComponentConnector.Connect в созданном файле кода. Затем код инфраструктуры для действий сборки XAML определяет поля, соответствующие именам элементов. Если в XAML выполняется подключение событий, действия сборки присоединяют обработчики событий к созданным экземплярам XAML. Поля предоставляют точку доступа, которую код приложения и код инфраструктуры может использовать для ссылки на объект, созданный в результате анализа XAML.

Например, если в XAML-файле имеется элемент XAML для элемента Button с именем button1 и у него есть атрибут события Click, который ссылается на именованный метод обработчика, Microsoft Visual Studio автоматически создаст реализацию метода Connect из интерфейса IComponentConnector. Параметр connectionId — это маркер идентификатора для различения вызовов, а целевой параметр — это целевой объект для подключения событий и имен.

Методы

Connect(Int32, Object)

Присоединяет события и имена к содержимому, инициированному XAML.

Применяется к

См. также раздел