본문 바로가기

dev/WPF

XAML 네임스페이스

반응형

XAML 네임스페이스

XAML 네임스페이스의 역할
  • 이름 충돌 방지
    - 서로 다른 라이브러리나 프레임워크에서 같은 이름의 태그나 속성이 존재할 수 있습니다. 네임스페이스는 이를 구분하여 이름 충돌을 방지합니다.
  • 코드 가독성 향상
    - 네임스페이스를 사용하면 XAML 코드에서 각 태그나 속성이 어떤 라이브러리나 프레임워크에서 제공되는지 쉽게 파악할 수 있어 코드 가독성을 높입니다.
  • 확장성
    - 네임스페이스를 사용하면 사용자 정의 컨트롤이나 라이브러리를 XAML 파일에서 사용할 수 있도록 확장할 수 있습니다.
XAML 네임스페이스의 종류
  • 기본 네임스페이스
    - XAML 파일은 반드시 기본 네임스페이스를 가져야 합니다. 기본 네임스페이스는 접두사 없이 사용할 수 있는 태그와 속성을 정의합니다. 일반적으로 WPF(Windows Presentation Foundation)의 경우 다음과 같은 기본 네임스페이스를 사용합니다.
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  • x: 네임스페이스
    - x: 네임스페이스는 XAML 언어 자체에서 제공하는 기능을 정의합니다. 예를 들어, x:Class 속성은 XAML 파일과 연결된 코드 비하인드 클래스를 지정하는 데 사용됩니다.
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  • 사용자 정의 네임스페이스
    - 응용 프로그램에서 사용자 정의 컨트롤이나 라이브러리를 사용하는 경우 해당 컨트롤이나 라이브러리의 네임스페이스를 XAML 파일에 추가해야 합니다.
XAML 네임스페이스 사용법
  • 네임스페이스 선언
    - XAML 파일의 루트 요소에 xmlns 속성을 사용하여 네임스페이스를 선언합니다. 접두사를 사용하여 네임스페이스를 지정할 수 있습니다.
<Window x:Class="MyWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:MyNamespace;assembly=MyAssembly"
        Title="My Window" Height="350" Width="525">
    <Grid>
        <Button Content="버튼" HorizontalAlignment="Center" VerticalAlignment="Center"/>
        <local:MyCustomControl/>
    </Grid>
</Window>
  • 태그 및 속성 사용
    - 선언된 네임스페이스의 태그나 속성을 사용할 때는 접두사를 붙여서 사용합니다.
<Button Content="Click Me"/>
<x:Array Type="System:String"/>
<local:MyCustomControl/>

 

반응형