programing

WPF에서 x:Key와 x:Name의 차이점은 무엇입니까?

closeapi 2023. 5. 1. 21:24
반응형

WPF에서 x:Key와 x:Name의 차이점은 무엇입니까?

사이에 무슨 차이가 있습니까?x:Key그리고.x:NameWPF에서?

나는 진정한 차이가 무엇인지 확신할 수 없습니다.

유사한 용도로 사용되지만 서로 교환할 수는 없습니다.x:키는 사전에 값으로 추가되는 항목에 사용되며, 대부분 리소스 사전에 추가되는 스타일 및 기타 리소스에 사용됩니다.x:Key 특성을 설정할 때 실제로 개체에 해당하는 속성이 없거나 설정 중인 종속성 속성도 없습니다.XAML 프로세서는 사전을 호출할 때 사용할 키를 알기 위해 사용합니다.더하다.

x:이름이 좀 더 복잡합니다.일부 상위 요소의 범위 내에 있는 개체(일반적으로 FrameworkElement에서 파생된 개체)에 연결된 이름을 적용하는 데 사용됩니다.이 범위를 "이름 범위"라고 하며 가장 쉽게 생각할 수 있는 방법은 다음을 포함하는 사용자 컨트롤을 상상하는 것입니다.<TextBox x:Name="foo" />.

그런 다음 각 사용자 컨트롤에는 고유한 이름 범위가 있으므로 "foo"라는 이름이 충돌하지 않고 여러 사용자 컨트롤 인스턴스를 창에 넣을 수 있습니다.

FrameworkElement는 x:Name 설정과 동일한 Name이라는 종속성 속성을 정의합니다.

또 다른 차이점은 XAML 설계자가 x:Name을 가진 요소에 대한 구성원을 코드백에 작성한다는 것입니다.x:Key를 사용하여 사전에 추가된 개체의 경우에는 그렇지 않습니다.

이에 대한 자세한 내용은 x:Name 지침에 대한 MSDN 문서의 비고 섹션에서 확인할 수 있습니다.

x:키는 ResourceDictionary 요소의 범위에서만 유효합니다.x:Key는 ResourceDictionary의 요소에 대한 기본 식별자로 사용됩니다.

반면 x:Name은 리소스 사전을 제외한 모든 범위에서 유효합니다.x:키는 ResourceDictionary 범위를 벗어나면 유효하지 않습니다.

언급URL : https://stackoverflow.com/questions/4425571/whats-the-difference-between-xkey-and-xname-in-wpf

반응형