Share via


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를 구현하기 Windows 10 XAML 컴파일러에서 컴파일된 앱입니다. 필요한 경우 앱은 호환성을 위해 IComponentConnector로 대체됩니다.

XAML 프레임워크 또는 XAML 디자인 도구의 기능을 실질적으로 확장하지 않는 한 IComponentConnector를 생성하거나 구현할 필요가 없습니다. 여기서 설명하는 나머지 부분은 애플리케이션 기반 앱 모델에서 IComponentConnector의 목적을 지향하고 Microsoft Visual Studio 인프라가 일반적인 XAML 프로젝트의 일부로 만드는 생성된 코드에서 IComponentConnector의 역할을 설명하기 위한 것입니다.

기본적으로 Microsoft Visual Studio의 UWP 앱 프로젝트에 XAML 페이지를 추가하면 BuildActionPage입니다. 프로젝트를 빌드할 때 해당 빌드 작업이 있는 모든 프로젝트 항목이 처리되고 프로젝트의 프로그래밍 언어 선택과 일치하는 코드 파일이 생성됩니다. 생성된 코드 파일은 모두 이름에 문자열 ".g"를 포함하며 컴파일 후 프로젝트의 obj 폴더에서 관찰할 수 있습니다. 생성된 파일은 애플리케이션 기반 앱 모델이 정의의 XAML 및 코드 측면을 연결하는 데 사용하는 부분 클래스 정의의 한 부분을 구현합니다. 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 시작 콘텐츠에 이벤트 및 이름을 연결합니다.

적용 대상

추가 정보