다음을 통해 공유


DataTemplateSelector 클래스

정의

데이터 형식 및 컨테이너별로 DataTemplate 개체를 선택합니다.

public abstract class DataTemplateSelector : Xamarin.Forms.DataTemplate
type DataTemplateSelector = class
    inherit DataTemplate
상속
System.Object
DataTemplateSelector

설명

애플리케이션 개발자는 데이터 형식 및 부모 컨테이너 조합에 대해 고유한 DataTemplate 를 반환하도록 메서드를 재정 OnSelectTemplate(Object, BindableObject) 의합니다. 또한 에 대한 연속 호출SelectTemplate(Object, BindableObject)에서 지정된 데이터 조각에 대해 동일한 정확한 템플릿 instance 반환해야 하므로 개발자는 생성자 재정의에 이러한 DataTemplate 템플릿을 만들고 저장해야 합니다.

다음 예제에서는 기본 사용을 보여 있습니다.
class MyDataTemplateSelector : DataTemplateSelector
{
    public MyDataTemplateSelector ()
    {
        // Retain instances
        this.templateOne = new DataTemplate (typeof (ViewA));
        this.templateTwo = new DataTemplate (typeof (ViewB));
    }

    protected override DataTemplate OnSelectTemplate (object item, BindableObject container)
    {
        if (item is double)
            return this.templateOne;
        return this.templateTwo;
    }

    private readonly DataTemplate templateOne;
    private readonly DataTemplate templateTwo;
}

생성자

DataTemplateSelector()

기본값을 사용하여 새 DataTemplateSelector을 만듭니다.

속성

Bindings

바인딩된 속성으로 인덱싱된 바인딩 사전을 가져옵니다.

(다음에서 상속됨 DataTemplate)
Values

속성별로 인덱스된 이 DataTemplate의 속성 값 사전을 반환합니다.

(다음에서 상속됨 DataTemplate)

메서드

CreateContent()

XAML 인프라에서 데이터 템플릿을 로드하고 결과 UI의 콘텐츠를 설정하는 데 사용합니다.

(다음에서 상속됨 ElementTemplate)
OnSelectTemplate(Object, BindableObject)

개발자는 이 메서드를 재정의하여 지정된 item에 대한 유효한 데이터 템플릿을 반환합니다. 이 메서드는 SelectTemplate(Object, BindableObject)에 의해 호출됩니다.

SelectTemplate(Object, BindableObject)

OnSelectTemplate(Object, BindableObject)을 호출하고 해당 결과를 확인하여 item에 대한 DataTemplate을 반환합니다.

SetBinding(BindableProperty, BindingBase)

property에 대한 바인딩을 설정합니다.

(다음에서 상속됨 DataTemplate)
SetValue(BindableProperty, Object)

property의 값을 설정합니다.

(다음에서 상속됨 DataTemplate)

명시적 인터페이스 구현

IDataTemplate.LoadTemplate

내부 전용입니다.

(다음에서 상속됨 ElementTemplate)
IDataTemplateController.Id

데이터 형식 및 컨테이너별로 DataTemplate 개체를 선택합니다.

(다음에서 상속됨 DataTemplate)
IDataTemplateController.IdString

데이터 형식 및 컨테이너별로 DataTemplate 개체를 선택합니다.

(다음에서 상속됨 DataTemplate)

확장 메서드

CreateContent(DataTemplate, Object, BindableObject)

Xamarin.Forms 플랫폼에서 내부용으로 사용합니다.

SelectDataTemplate(DataTemplate, Object, BindableObject)

Xamarin.Forms 플랫폼에서 내부용으로 사용합니다.

SetBinding(DataTemplate, BindableProperty, String)

path를 사용하여 생성된 새 Binding 인스턴스로 self 개체의 targetProperty를 바인딩합니다.

적용 대상