DataTemplateSelector 클래스

정의

데이터 형식 및 컨테이너별로 DataTemplate 개체를 선택합니다.Selects DataTemplate objects by data type and container.

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

설명

응용 프로그램 개발자를 재정의 하는 OnSelectTemplate(Object, BindableObject) 고유한 반환 하는 방법 DataTemplate 데이터 유형과 부모 컨테이너 조합에 대 한 합니다.Application developers override the OnSelectTemplate(Object, BindableObject) method to return a unique DataTemplate for a data type and parent container combination. 또한 정확히 동일 하기 때문에 템플릿 인스턴스를 반환 해야 합니다 지정 된 데이터 부분에 대 한 후속 호출에서 SelectTemplate(Object, BindableObject), 개발자가 만들고 저장 해야 DataTemplate 해당 생성자에서 재정의 합니다.Additionally, because the same exact template instance must be returned for a given piece of data across successive calls to SelectTemplate(Object, BindableObject), developers should create and store these DataTemplate in their constructor overrides.

개발자는 다음 사항에 유의 해야 합니다.Developers should note the following items:
  • OnSelectTemplate 다른 DataTemplateSelector 반환 하지 않아야 하 고OnSelectTemplate must not return another DataTemplateSelector, and
  • Android 플랫폼 목록 보기 당 20 템플릿으로 제한 됩니다.The Android platform is limited to 20 templates per list view.
다음 예제에서는 기본적인 사용을 보여 줍니다.The following example shows a basic use:
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을 만듭니다.Creates a new DataTemplateSelector with default values.

속성

Bindings

바인딩된 속성으로 인덱싱된 바인딩 사전을 가져옵니다.Gets a dictionary of bindings, indexed by the bound properties.

(다음에서 상속됨 DataTemplate)
Values

속성별로 인덱스된 이 DataTemplate의 속성 값 사전을 반환합니다.Returns a dictionary of property values for this DataTemplate, indexed by property.

(다음에서 상속됨 DataTemplate)

메서드

CreateContent()

XAML 인프라에서 데이터 템플릿을 로드하고 결과 UI의 콘텐츠를 설정하는 데 사용합니다.Used by the XAML infrastructure to load data templates and set up the content of the resulting UI.

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

개발자는 이 메서드를 재정의하여 지정된 item에 대한 유효한 데이터 템플릿을 반환합니다.The developer overrides this method to return a valid data template for the specified item. 이 메서드는 SelectTemplate(Object, BindableObject)에 의해 호출됩니다.This method is called by SelectTemplate(Object, BindableObject).

SelectTemplate(Object, BindableObject)

OnSelectTemplate(Object, BindableObject)을 호출하고 해당 결과를 확인하여 item에 대한 DataTemplate을 반환합니다.Returns a DataTemplate for item by calling OnSelectTemplate(Object, BindableObject) and verifying its result.

SetBinding(BindableProperty, BindingBase)

property에 대한 바인딩을 설정합니다.Sets the binding for property.

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

property의 값을 설정합니다.Sets the value of property.

(다음에서 상속됨 DataTemplate)

명시적 인터페이스 구현

IDataTemplate.LoadTemplate

내부 전용입니다.For internal use only.

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

확장 메서드

CreateContent(DataTemplate, Object, BindableObject)

For internal use by the Xamarin.Forms platform.

SelectDataTemplate(DataTemplate, Object, BindableObject)

For internal use by the Xamarin.Forms platform.

SetBinding(DataTemplate, BindableProperty, String)

path를 사용하여 생성된 새 Binding 인스턴스로 self 개체의 targetProperty를 바인딩합니다.Binds the self object's targetProperty to a new Binding instance that was created with path.

적용 대상