다음을 통해 공유


x:Key 특성

리소스로 생성 및 참조되고 ResourceDictionary 내에 존재하는 요소를 고유하게 식별합니다.

XAML 특성 사용

<ResourceDictionary>
  <object x:Key="stringKeyValue".../>
</ResourceDictionary>

XAML 특성 사용(암시적 ResourceDictionary)

<object.Resources>
  <object x:Key="stringKeyValue".../>
</object.Resources>

XAML 값

용어 설명
개체 공유할 수 있는 모든 개체. ResourceDictionary 및 XAML 리소스를 참조하십시오.
stringKeyValue 키로 사용되는 실제 문자열이며 XamlName> 문법을 따라야 합니다. 아래의 "XamlName 문법"을 참조하세요.

XamlName 문법

다음은 UWP(유니버설 Windows 플랫폼) XAML 구현에서 키로 사용되는 문자열에 대한 표준 문법입니다.

XamlName ::= NameStartChar (NameChar)*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit
LetterCharacter ::= ('a'-'z') | ('A'-'Z')
DecimalDigit ::= '0'-'9'
CombiningCharacter::= none
  • 문자는 낮은 ASCII 범위에 있는 알파벳 대/소문자, 숫자 및 밑줄(_) 문자로 제한됩니다.
  • 유니코드 문자 범위는 지원되지 않습니다.
  • 이름은 숫자로 시작될 수 없습니다.

설명

ResourceDictionary자식 요소에는 일반적으로 해당 사전 내에서 고유한 키 값을 지정하는 x:Key 특성이 포함됩니다. 키 고유성은 로드 시 XAML 프로세서에 의해 적용됩니다. 고유 하지 않은 x:Key 값으로 인해 XAML 구문 분석 예외가 발생합니다. {StaticResource} 태그 확장에서 요청하는 경우 확인되지 않은 키로 인해 XAML 구문 분석 예외가 발생합니다.

x:Keyx:Name 은 동일한 개념이 아닙니다. x:Key 는 리소스 사전에서만 사용됩니다. x:Name은 XAML의 모든 영역에 사용됩니다. 키 값을 사용하는 FindName 호출은 키 리소스를 검색하지 않습니다. 리소스 사전에 정의된 개체에는 x:Key, x:Name 또는 둘 다 있을 수 있습니다. 키와 이름은 일치시킬 필요가 없습니다.

표시된 암시적 구문에서 ResourceDictionary 개체는 WPF XAML 프로세서가 리소스 컬렉션을 채울 새로운 개체를 생성하는 방법에 대해 암시적이라는 것을 명심하십시오.

x:Key를 지정하는 것과 동일한 코드는 기본 ResourceDictionary에서 키를 사용하는 모든 작업입니다. 예를 들어 리소스에 대한 태그에 적용된 x:Key 는 ResourceDictionary 리소스를 추가할 때 Insert key 매개 변수 값과 동일합니다.

리소스 사전의 항목은 대상 스타일 또는 ControlTemplate인 경우 x:Key 값을 생략할 수 있습니다. 이러한 각 경우에서 리소스 항목의 암시적 키는 문자열로 해석되는 TargetType 값입니다. 자세한 내용은 빠른 시작: 컨트롤 스타일 지정 및 ResourceDictionary 및 XAML 리소스 참조를 참조하세요.