의 XAML 네임스페이스 Xamarin.Forms

XAML은 네임스페이스 선언에 xmlns XML 특성을 사용합니다. 이 문서에서는 XAML 네임스페이스 구문을 소개하고 형식에 액세스하기 위해 XAML 네임스페이스를 선언하는 방법을 보여 줍니다.

개요

XAML 파일의 루트 요소 내에는 항상 두 개의 XAML 네임스페이스 선언이 있습니다. 첫 번째는 다음 XAML 코드 예제와 같이 기본 네임스페이스를 정의합니다.

xmlns="http://xamarin.com/schemas/2014/forms"

기본 네임스페이스는 접두사 없이 XAML 파일 내에 정의된 요소가 같은 ContentPage클래스를 참조하도록 Xamarin.Forms 지정합니다.

두 번째 네임스페이 x 스 선언은 다음 XAML 코드 예제와 같이 접두사를 사용합니다.

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

XAML은 접두사를 사용하여 기본이 아닌 네임스페이스를 선언하고 네임스페이스 내에서 형식을 참조할 때 접두사를 사용합니다. 네임스페이스 선언은 x 접두 x 사를 사용하여 XAML 내에 정의된 요소가 XAML에 내장된 요소 및 특성(특히 2009 XAML 사양)에 사용되도록 지정합니다.

다음 표에서는 지원되는 네임스페이 x 스 특성을 간략하게 설명합니다 Xamarin.Forms.

구문 설명
x:Arguments 기본이 아닌 생성자 또는 팩터리 메서드 개체 선언에 대한 생성자 인수를 지정합니다.
x:Class XAML에 정의된 클래스의 네임스페이스 및 클래스 이름을 지정합니다. 클래스 이름은 코드 숨김 파일의 클래스 이름과 일치해야 합니다. 이 구문은 XAML 파일의 루트 요소에만 표시할 수 있습니다.
x:DataType XAML 요소와 자식 요소가 바인딩할 개체의 형식을 지정합니다.
x:FactoryMethod 개체를 초기화하는 데 사용할 수 있는 팩터리 메서드를 지정합니다.
x:FieldModifier 명명된 XAML 요소에 대해 생성된 필드의 액세스 수준을 지정합니다.
x:Key 의 각 리소스 ResourceDictionary에 대해 고유한 사용자 정의 키를 지정합니다. 키의 값은 XAML 리소스를 검색하는 데 사용되며 일반적으로 태그 확장의 StaticResource 인수로 사용됩니다.
x:Name XAML 요소의 런타임 개체 이름을 지정합니다. 설정 x:Name 은 코드에서 변수를 선언하는 것과 비슷합니다.
x:TypeArguments 제네릭 형식의 생성자에 대한 제네릭 형식 인수를 지정합니다.

특성에 대한 x:DataType 자세한 내용은 컴파일된 바인딩을 참조 하세요. 특성에 대한 x:FieldModifier 자세한 내용은 필드 한정자를 참조 하세요. 및 특성에 x:Arguments 대한 자세한 내용은 XAML에서 인수 전달을 참조 x:FactoryMethod 하세요. 특성에 대한 x:TypeArguments 자세한 내용은 XAML의 제네릭을 참조 하세요 Xamarin.Forms.

참고 항목

위에 Xamarin.Forms 나열된 네임스페이스 특성 외에도 네임스페이스 접두사를 통해 x 사용할 수 있는 태그 확장도 포함됩니다. 자세한 내용은 XAML 태그 확장 사용을 참조 하세요.

XAML에서 네임스페이스 선언은 부모 요소에서 자식 요소로 상속됩니다. 따라서 XAML 파일의 루트 요소에서 네임스페이스를 정의할 때 해당 파일 내의 모든 요소는 네임스페이스 선언을 상속합니다.

형식에 대한 네임스페이스 선언

접두사를 사용하여 XAML 네임스페이스를 선언하고, 네임스페이스 선언에서 CLR(공용 언어 런타임) 네임스페이스 이름을 지정하고, 필요에 따라 어셈블리 이름을 지정하여 XAML에서 형식을 참조할 수 있습니다. 이 작업은 네임스페이스 선언 내에서 다음 키워드(keyword) 값을 정의하여 수행됩니다.

  • clr-namespace: 또는 using: – XAML 요소로 노출할 형식을 포함하는 어셈블리 내에서 선언된 CLR 네임스페이스입니다. 이 키워드(keyword) 필요합니다.
  • assembly= – 참조된 CLR 네임스페이스를 포함하는 어셈블리입니다. 이 값은 파일 확장명 없이 어셈블리의 이름입니다. 어셈블리에 대한 경로는 어셈블리를 참조할 XAML 파일이 포함된 프로젝트 파일에서 참조로 설정해야 합니다. clr-namespace 값이 형식을 참조하는 애플리케이션 코드와 동일한 어셈블리 내에 있으면 이 키워드(keyword) 생략할 수 있습니다.

또는 using 토큰을 해당 값에서 분리하는 clr-namespace 문자는 콜론인 반면 토큰을 해당 값과 구분하는 assembly 문자는 등호입니다. 두 토큰 간에 사용할 문자는 세미콜론입니다.

다음 코드 예제에서는 XAML 네임스페이스 선언을 보여줍니다.

<ContentPage ... xmlns:local="clr-namespace:HelloWorld" ...>
  ...
</ContentPage>

또는 다음과 같이 작성할 수 있습니다.

<ContentPage ... xmlns:local="using:HelloWorld" ...>
  ...
</ContentPage>

local 접두사는 네임스페이스 내의 형식이 애플리케이션에 로컬임을 나타내는 데 사용되는 규칙입니다. 또는 형식이 다른 어셈블리에 있는 경우 다음 XAML 코드 예제와 같이 네임스페이스 선언에서도 어셈블리 이름을 정의해야 합니다.

<ContentPage ... xmlns:behaviors="clr-namespace:Behaviors;assembly=BehaviorsLibrary" ...>
  ...
</ContentPage>

그런 다음, 다음 XAML 코드 예제와 같이 가져온 네임스페이스에서 형식의 인스턴스를 선언할 때 네임스페이스 접두사를 지정합니다.

<ListView ...>
  <ListView.Behaviors>
    <behaviors:EventToCommandBehavior EventName="ItemSelected" ... />
  </ListView.Behaviors>
</ListView>

사용자 지정 네임스페이스 스키마 정의에 대한 자세한 내용은 XAML 사용자 지정 네임스페이스 스키마를 참조 하세요.

요약

이 문서에서는 XAML 네임스페이스 구문을 소개하고 형식에 액세스하기 위해 XAML 네임스페이스를 선언하는 방법을 설명했습니다. XAML은 네임스페이 xmlns 스 선언에 XML 특성을 사용하며 접두사를 사용하여 XAML 네임스페이스를 선언하여 XAML에서 형식을 참조할 수 있습니다.