programing

모든 WPF 파일의 xmlns란 무엇입니까?

javamemo 2023. 4. 20. 19:40
반응형

모든 WPF 파일의 xmlns란 무엇입니까?

뭐가xmlns?

WPF 프로젝트를 작성할 때 XAML 파일에서 어떤 역할을 합니까?

xmlns는 XML 구성체이며, 반드시 XAML은 아닙니다.XML 구성체는 xml 요소 이름을 해결하는 네임스페이스를 정의합니다.수식자 없이 정의되기 때문에 XML 요소 이름을 확인해야 하는 기본 네임스페이스를 정의합니다.

XAML 에서는, 통상은 다음의 엔트리가 표시됩니다.디폴트 네임스페이스는 기본적으로 WPF로 정의되므로 모든 XML 요소명은 WPF 요소로 해결됩니다.

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

다음과 같은 기본값이 아닌 네임스페이스도 자주 볼 수 있습니다.

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

XAML 고유의 요소의 정규화된 네임스페이스를 정의합니다.요소 또는 속성 이름을 이 네임스페이스 내에서 해결하려면 x로 한정해야 합니다. 예를 들어 다음과 같습니다.

<StackPanel x:Name="foo" />

이 정의에는 2개의 이름 해결 방법이 있습니다.

  1. StackPanel - 이름이 수식되지 않았으므로 기본 이름 공간인 WPF에서 해결됩니다.
  2. x:Name - 이름은 x로 수식되며 XAML 문서 내에서 해결됩니다.

xmlns를 사용하여 XAML 내 자신의 네임스페이스에 대한 참조도 얻을 수 있습니다.새로운 WPF 프로젝트를 작성할 때 가장 먼저 수행하는 작업 중 하나는 프로젝트 네임스페이스에 참조를 추가하는 것입니다.

xmlns:local="clr-namespace:MyWpfProject"

이제 "local:" 접두사를 사용하여 프로젝트 내에서 만들 수 있는 클래스(IValueConverters 및 DataTemplateSelectors 등)에 액세스할 수 있게 되었습니다.

<local:BooleanToColorConverter x:Key="booleanToColorConverter" DefaultBrush="Green" HighlightBrush="Red" />

물론 "local"을 사용할 필요는 없습니다. 원하는 이름을 붙일 수 있습니다.필요한 다른 네임스페이스에도 같은 방법으로 참조를 추가할 수 있습니다.

여러 CLR 네임스페이스를 하나의 XML 네임스페이스에 매핑할 수도 있습니다.XmlnsDefinitionAttribute당신의 어셈블리로요.이것은 WPF 팀이 시스템 아래에 많은 네임스페이스를 매핑함으로써 실행한 것입니다.다음과 같은 Windows:

[XmlnsDefinitionAttribute(
    "http://schemas.microsoft.com/winfx/2006/xaml/presentation", 
    "System.Windows.Controls")]
[XmlnsDefinitionAttribute(
    "http://schemas.microsoft.com/winfx/2006/xaml/presentation", 
    "System.Windows.Ink")]

이 구문을 사용하면 XAML을 단순화할 수 있지만 CLR 네임스페이스에 같은 이름의 클래스가 함께 Marge되지 않도록 주의하십시오.

MSDN에서 가져온 것과 같이 루트 요소에는 xmlns 및 xmlns:x 속성도 포함됩니다.이러한 어트리뷰트는, 마크업이 참조하는 요소의 요소 정의가 격납되어 있는 XML 네임스페이스를 XAML 프로세서에 나타냅니다.xmlns 속성은 기본 XML 네임스페이스를 구체적으로 나타냅니다.

사용 및 매핑 범위를 정의하기 위한 xmlns의 사용은 XML 1.0 사양과 일치합니다.

이게 도움이 됐으면 좋겠다.

언급URL : https://stackoverflow.com/questions/630468/what-is-xmlns-in-every-wpf-file

반응형