내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

FrameworkElement.Name 속성

요소의 식별 이름을 가져오거나 설정합니다. 이 이름은 이벤트 처리기 코드 등의 코드 숨김 항목이 XAML 프로세스가 수행하는 처리 중에 생성된 후에 태그 요소를 참조할 수 있도록 참조를 제공합니다.

네임스페이스:  System.Windows
어셈블리:  PresentationFramework(PresentationFramework.dll)
XAML의 XMLNS: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.NeverLocalize)]
public string Name { get; set; }
<object Name="string" .../>

속성 값

형식: System.String
요소의 이름입니다. 기본값은 빈 문자열입니다.

구현

IFrameworkInputElement.Name

식별자 필드

NameProperty

true 로 설정된 메타데이터 속성

IsAnimationProhibited

이 속성은 태그에서 XAML 요소 이름을 특성으로 지정할 때 가장 일반적으로 사용됩니다.

이 속성은 XAML x:Name 지시문을 설정하기 위한 WPF 프레임워크 수준의 편의를 위한 속성을 제공합니다.

이름은 이름 범위에서 고유해야 합니다. 자세한 내용은 WPF XAML 이름 범위을 참조하십시오.

코드에서 요소를 만드는 경우에는 대개 Name을 가져오지 않습니다. 코드에 이미 적절한 참조가 있는 경우에는 요소 참조에서 메서드 및 속성을 호출하면 되므로 일반적으로 Name이 필요하지 않기 때문입니다. 그러나 UI에서 해당 이름을 표시하는 것이 유용한 경우 등 Name 문자열에 오버로드된 의미가 있는 경우는 예외입니다. 원래 Name이 태그에서 설정된 경우에도 코드 숨김 항목에서 Name을 설정하지 않는 것이 좋습니다. 이 경우에는 XAML을 로드한 후에 속성을 변경해도 원래 개체 참조가 변경되지 않습니다. 구문 분석 중에 기본 이름 범위를 명시적으로 만든 경우에만 이러한 개체 참조가 만들어집니다. 구체적으로 RegisterName을 호출해야 이미 로드된 요소의 Name 속성에서 유효한 변경 작업을 수행할 수 있습니다.

코드에서 Name을 설정해야 하는 대표적인 경우는 런타임에 참조할 수 있도록 Storyboard를 실행하는 요소에 대해 이름을 등록할 때입니다. 이름을 등록하기 전에 NameScope 인스턴스를 인스턴스화 및 할당해야 할 수 있습니다. 예제 부분 또는 Storyboard 개요를 참조하십시오.

코드에서 Name을 설정하는 작업은 제한적으로만 적용할 수 있으며, 일반적으로는 Name별로 요소를 가져옵니다. 이 작업을 수행하는 경우의 예로는 응용 프로그램에서 페이지가 응용 프로그램으로 다시 로드되는 탐색 모델을 지원하며, 런타임 코드가 해당 페이지에 대해 정의된 코드 숨김 항목이 아닐 수도 있는 경우를 들 수 있습니다. 모든 FrameworkElement에서 사용할 수 있는 유틸리티 메서드인 FindName은 해당 요소의 논리적 트리에서 필요에 따라 트리를 재귀적으로 검색하여 Name별로 모든 요소를 찾을 수 있습니다. 또는 마찬가지로 Name 문자열을 인수로 사용하는 LogicalTreeHelperFindLogicalNode 정적 메서드를 사용할 수도 있습니다.

일반적으로 사용되는 루트 요소(Window, Page 등)는 인터페이스 INameScope를 구현합니다. 이 인터페이스를 구현하면 해당 범위 내에서 이름이 명확하게 적용됩니다. 이 인터페이스를 정의하는 루트 요소는 관련된 모든 API에 대한 이름 범위 동작 경계도 정의합니다.

Name 속성은 다른 프로세스의 식별자 역할도 수행합니다. 예를 들어 WPF 자동화 모델은 Name을 클라이언트 및 공급자에 대한 AutomationId로 사용합니다.

Name 에 사용되는 문자열 값에는 XAML 사양에서 정의하는 기본 x:Name 지시문에 의해 몇 가지 제한이 적용됩니다. 그 중 가장 대표적인 제한으로는 Name이 밑줄 문자(_)로 시작해야 하며 문자, 숫자 및 밑줄만을 포함해야 한다는 것을 들 수 있습니다. 자세한 내용은 WPF XAML 이름 범위을 참조하십시오.

이름 자체가 애니메이션 대상을 지정하는 데 필수적인 요소이기 때문에, Name은 애니메이션을 적용할 수 없는 극소수의 종속성 속성 중 하나입니다(메타데이터에서 IsAnimationProhibitedtrue임). Name 을 데이터 바인딩하는 작업은 기술적으로는 가능하지만, 데이터 바인딩된 Name은 속성의 가장 기본적인 역할, 즉 코드 숨김에 대한 식별자 연결 지점을 제공하는 역할을 수행하지 못하기 때문에 이러한 데이터 바인딩을 수행하는 일은 거의 없습니다.

다음 예제에서는 코드에서 Name 속성을 설정한 다음 RegisterName을 호출하여 이름을 새로 만든 NameScope에 등록합니다. Storyboard를 사용하려면 Name을 사용하여 대상을 지정해야 하며 개체 참조를 통해서는 Storyboard의 대상을 지정할 수 없기 때문에, Storyboard를 통해 애니메이션을 적용하려면 여기서 설명하는 기술을 반드시 사용해야 합니다.


//  
// Create a Rectangle
//
Rectangle myRectangle = new Rectangle();
myRectangle.Width = 200;
myRectangle.Height = 200;
myRectangle.Name = "myRectangle";
this.RegisterName(myRectangle.Name, myRectangle); 


.NET Framework

4.5, 4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft