XAML 네임스페이스
XAML은 네임스페이 xmlns
스 선언에 XML 특성을 사용합니다. XAML 파일의 루트 요소 내에는 항상 두 개의 XAML 네임스페이스 선언이 있습니다. 첫 번째는 기본 네임스페이스를 정의합니다.
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
기본 네임스페이스는 접두사 없이 XAML 파일 내에 정의된 요소가 .NET 다중 플랫폼 앱 UI(.NET MAUI) 클래스(예: ContentPage, Label및 Button)를 참조하도록 지정합니다.
두 번째 네임스페이스 선언은 접두사를 x
사용합니다.
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
XAML은 접두사를 사용하여 기본이 아닌 네임스페이스를 선언하고 네임스페이스 내에서 형식을 참조할 때 접두사를 사용합니다. 네임스페이스 선언은 x
접두 x
사를 사용하여 XAML 내에 정의된 요소가 XAML에 내장된 요소 및 특성(특히 2009 XAML 사양)에 사용되도록 지정합니다.
다음 표에서는 .NET MAUI에서 x
지원하는 구문을 간략하게 설명합니다.
구문 | 설명 |
---|---|
x:Arguments |
기본이 아닌 생성자 또는 팩터리 메서드 개체 선언에 대한 생성자 인수를 지정합니다. |
x:Class |
XAML에 정의된 클래스의 네임스페이스 및 클래스 이름을 지정합니다. 클래스 이름은 코드 숨김 파일의 클래스 이름과 일치해야 합니다. 이 구문은 XAML 파일의 루트 요소에만 표시할 수 있습니다. |
x:ClassModifier |
어셈블리에서 생성된 클래스의 액세스 수준을 지정합니다. |
x:DataType |
XAML 요소와 자식 요소가 바인딩할 개체의 형식을 지정합니다. |
x:FactoryMethod |
개체를 초기화하는 데 사용할 수 있는 팩터리 메서드를 지정합니다. |
x:FieldModifier |
명명된 XAML 요소에 대해 생성된 필드의 액세스 수준을 지정합니다. |
x:Key |
의 각 리소스 ResourceDictionary에 대해 고유한 사용자 정의 키를 지정합니다. 키의 값은 XAML 리소스를 검색하는 데 사용되며 일반적으로 태그 확장의 StaticResource 인수로 사용됩니다. |
x:Name |
XAML 요소의 런타임 개체 이름을 지정합니다. 설정 x:Name 은 코드에서 변수를 선언하는 것과 비슷합니다. |
x:TypeArguments |
제네릭 형식의 생성자에 대한 제네릭 형식 인수를 지정합니다. |
특성에 대한 x:ClassModifier
자세한 내용은 클래스 한정자를 참조 하세요. 특성에 x:DataType
대한 자세한 내용은 컴파일된 바인딩을 참조 하세요. 특성에 대한 x:FieldModifier
자세한 내용은 필드 한정자를 참조 하세요. 및 특성에 x:Arguments
대한 자세한 내용은 Pass 인수를 참조 x:FactoryMethod
하세요. 특성에 대한 x:TypeArguments
자세한 내용은 제네릭을 참조 하세요.
참고 항목
위에 나열된 구문 외에도 .NET MAUI에는 네임스페이스 접두사를 통해 x
사용할 수 있는 태그 확장도 포함되어 있습니다. 자세한 내용은 XAML 태그 확장 사용(Consume XAML Markup Extensions)을 참조 하세요.
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:MyMauiApp">
...
</ContentPage>
또는 다음과 같이 작성할 수 있습니다.
<ContentPage ... xmlns:local="using:MyMauiApp">
...
</ContentPage>
local
접두사는 네임스페이스 내의 형식이 앱에 로컬임을 나타내는 데 사용되는 규칙입니다. 또는 형식이 다른 어셈블리에 있는 경우 네임스페이스 선언에서도 어셈블리 이름을 정의해야 합니다.
<ContentPage ... xmlns:controls="clr-namespace:Controls;assembly=MyControlLibrary" ...>
...
</ContentPage>
가져온 네임스페이스에서 형식의 인스턴스를 선언할 때 네임스페이스 접두사를 지정합니다.
<controls:Expander IsExpanded="True">
...
</controls:Expander>
사용자 지정 네임스페이스 스키마 정의에 대한 자세한 내용은 사용자 지정 네임스페이스 스키마를 참조 하세요.
.NET MAUI