Binding.ElementName 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
public:
property Platform::String ^ ElementName { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring ElementName();
void ElementName(winrt::hstring value);
public string ElementName { get; set; }
var string = binding.elementName;
binding.elementName = string;
Public Property ElementName As String
<Binding ElementName="nameString"/>
속성 값
바인딩 원본으로 사용할 요소의 Name 속성 또는 x:Name 특성 값입니다. 기본값은 빈 문자열입니다.
예제
다음 코드 예제에서는 TextBox 와 Slider 컨트롤 간에 양방향 바인딩을 설정하는 방법을 보여 줍니다. 전체 코드 목록은 XAML 데이터 바인딩 샘플의 시나리오 1을 참조하세요.
<Slider x:Name="slider1" Minimum="1" Maximum="100"/>
<TextBox Text="{Binding ElementName=slider1, Path=Value, Mode=TwoWay}"/>
설명
이 속성을 설정할 때 지정한 값은 다음 위치 중 하나의 요소를 참조해야 합니다.
- 현재 XAML 이름 범위입니다.
- 바인딩 대상이 데이터 템플릿 또는 컨트롤 템플릿에 있는 경우 템플릿이 지정된 부모의 XAML 이름 범위입니다. 이 제한으로 인해 ElementName 속성을 사용하여 XAML을 사용하여 만들지 않은 요소에 바인딩할 수 없습니다. 프로그래밍 방식으로 만든 요소에 바인딩하려면 대신 Source 속성을 사용합니다. Source, RelativeSource 및 ElementName은 바인딩에서 상호 배타적입니다. 이러한 특성 중 하나를 설정한 경우 바인딩에서 다른 두 특성 중 하나를 설정하면(XAML을 통해 또는 코드를 통해) 예외가 발생합니다.
ElementName 값을 사용하는 바인딩에는 참조되는 개체에 있는 속성의 이름을 지정하는 간단한 Path 가 거의 항상 포함됩니다. 명명된 요소의 원본 속성과 대상의 대상 속성의 이름이 동일하고 동일한 값 형식을 사용하는 것이 일반적입니다. 이는 컨트롤 파트를 복합적으로 제어하지만 파트의 표면 속성을 제어하는 컨트롤 템플릿 정의에서 상당히 자주 표시되는 시나리오입니다. 원본 및 대상 속성이 다른 형식을 사용하는 경우 형식 차이를 resolve 대상에 대한 적절한 값을 반환할 수 있는 Converter 값을 지정합니다.
XAML 이름 범위 및 XAML에서 만든 개체에 대한 바인딩 및 기타 프로그래밍 방식 액세스에 미치는 영향에 대한 자세한 내용은 XAML 이름 범위를 참조하세요.
ElementName 값은 기술적으로 모든 문자열일 수 있지만 Name 및 x:Name 특성 값은 XamlName 문법에서 유효하도록 적용되므로 일반적으로 ElementName 값에 대해서도 해당 문법에 바인딩됩니다. 요소 이름에 유효한 항목에 대한 자세한 내용은 x:Name 특성 참조의 "XamlName 문법" 섹션을 참조하세요.
해당 바인딩이 대상 요소 및 대상 속성에 연결된 후에는 Binding 개체의 속성 값을 설정할 수 없습니다. 이 작업을 시도하면 런타임 예외가 발생합니다.