DataTemplateSelector Sınıf

Tanım

DataTemplateNesneleri veri türüne ve kapsayıcıya göre seçer.

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

Açıklamalar

Uygulama geliştiricileri, OnSelectTemplate(Object, BindableObject) DataTemplate bir veri türü ve üst kapsayıcı bileşimi için benzersiz bir döndürme yöntemi döndürür. Buna ek olarak, ' a yönelik art arda yapılan çağrılar arasındaki belirli bir veri parçası için aynı tam şablon örneği döndürüldüğünden SelectTemplate(Object, BindableObject) , geliştiricilerin bunları DataTemplate kendi Oluşturucu geçersiz Kılmalarda oluşturması ve depolaması gerekir.

Aşağıdaki örnek, temel bir kullanımı göstermektedir:
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;
}

Oluşturucular

DataTemplateSelector()

Varsayılan değerlerle yeni bir oluşturur DataTemplateSelector .

Özellikler

Bindings

Bağlama özelliklerine göre dizine alınmış bağlamaların sözlüğünü alır.

(Devralındığı yer: DataTemplate)
Values

Bu DataTemplate , özelliği tarafından dizinlenen, için özellik değerlerinin bir sözlüğünü döndürür.

(Devralındığı yer: DataTemplate)

Yöntemler

CreateContent()

XAML altyapısı tarafından veri şablonlarını yüklemek ve sonuçta elde edilen Kullanıcı arabiriminin içeriğini ayarlamak için kullanılır.

(Devralındığı yer: ElementTemplate)
OnSelectTemplate(Object, BindableObject)

Geliştirici, belirtilen için geçerli bir veri şablonu döndürecek şekilde bu yöntemi geçersiz kılar item . Bu yöntem tarafından çağrılır SelectTemplate(Object, BindableObject) .

SelectTemplate(Object, BindableObject)

DataTemplate item Sonucunu çağırarak ve doğrulayarak için bir döndürür OnSelectTemplate(Object, BindableObject) .

SetBinding(BindableProperty, BindingBase)

İçin bağlamayı ayarlar property .

(Devralındığı yer: DataTemplate)
SetValue(BindableProperty, Object)

Değerini ayarlar property .

(Devralındığı yer: DataTemplate)

Belirtik Arabirim Kullanımları

IDataTemplate.LoadTemplate

Yalnızca dahili kullanım içindir.

(Devralındığı yer: ElementTemplate)
IDataTemplateController.Id (Devralındığı yer: DataTemplate)
IDataTemplateController.IdString (Devralındığı yer: DataTemplate)

Uzantı Metotları

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)

Bağlar self nesnenin targetProperty yeni bir Binding oluşturulurken örneği path.

Şunlara uygulanır