다음을 통해 공유


DataTemplateSelector 클래스

정의

애플리케이션 수준에서 사용자 지정 템플릿 선택 논리를 사용하도록 설정합니다.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector : IElementFactory
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector : IElementFactory
Public Class DataTemplateSelector
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
상속
Object IInspectable DataTemplateSelector
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

데이터 템플릿에 대한 자세한 내용은 DataTemplate 클래스 및 항목 컨테이너 및 템플릿을 참조하세요.

기본 DataTemplateSelector 클래스는 XAML에서 개체 요소로 사용되지 않습니다. 그러나 사용자 지정 DataTemplateSelector를 파생시키고, 사용자 지정 클래스 및 해당 네임스페이스/어셈블리에 대한 접두사를 매핑 xmlns 한 다음, XAML의 리소스 블록에 정의된 대로 사용자 지정 클래스의 instance 참조하는 것이 일반적인 시나리오입니다. 이렇게 하면 에서 사용자 지정 템플릿 선택기 클래스 x:Key를 참조하고 해당 참조를 사용하여 XAML 템플릿 및 시각적 상태에서 ItemTemplateSelector 와 같은 속성 값을 설정할 수 있습니다.

DataTemplateSelector의 호출 가능한 메서드는 두 개의 SelectTemplate 오버로드입니다. DataTemplateSelector의 재정의 가능한 메서드는 두 개의 SelectTemplateCore 오버로드입니다. 유효한 DataTemplateSelector 하위 클래스를 정의하려면 SelectTemplateCore(Object) 및 SelectTemplateCore(Object, DependencyObject)에 대한 구현을 제공합니다. 이러한 모든 메서드는 일반적으로 가져오기 위해 호출된 메서드의 입력에 적합한 특정 선택인 DataTemplate instance 반환합니다.

앱 코드는 일반적으로 SelectTemplate 메서드를 호출하지 않습니다. 메서드는 인프라가 ItemsControl.ItemsTemplateSelector와 같은 속성 값에서 DataTemplateSelector instance 사용하여 올바른 템플릿을 선택하는 동안 호출할 수 있도록 존재합니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1809 17763 GetElement
1809 17763 RecycleElement

생성자

DataTemplateSelector()

DataTemplateSelector 클래스의 새 instance 초기화합니다.

메서드

GetElement(ElementFactoryGetArgs)

SelectTemplate에서 반환된 DataTemplate에 선언된 UIElement 개체의 기존 instance 만들거나 검색합니다.

RecycleElement(ElementFactoryRecycleArgs)

GetElement를 사용하여 만든 UIElement 개체를 재활용합니다.

SelectTemplate(Object)

지정된 항목에 대한 특정 DataTemplate 을 반환합니다.

SelectTemplate(Object, DependencyObject)

지정된 항목 및 컨테이너에 대한 특정 DataTemplate 을 반환합니다.

SelectTemplateCore(Object)

파생 클래스에서 구현되는 경우 지정된 항목 또는 컨테이너에 대한 특정 DataTemplate 을 반환합니다.

SelectTemplateCore(Object, DependencyObject)

파생 클래스에서 구현되는 경우 지정된 항목 또는 컨테이너에 대한 특정 DataTemplate 을 반환합니다.

적용 대상

추가 정보