Share via


DataTemplateSelector 클래스

정의

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

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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
Implements IElementFactory
See Remarks
상속
Object IInspectable DataTemplateSelector
특성
구현

설명

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

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

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

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

사용자 지정 DataTemplateSelector를 HeaderTemplateSelector 값으로 참조하는 XAML과 HeaderTemplateSelector 메서드에 대한 재정의를 보여 주는 예제 코드는 목록 또는 그리드에서 항목을 그룹화하는 방법을 참조하세요.

생성자

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 을 반환합니다.

적용 대상

추가 정보