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;
}
```</div>

コンストラクター

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()

データ テンプレートを読み込み、結果として得られる UI のコンテンツを設定するために XAML インフラストラクチャで使用されます。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) を呼び出し、その結果を確認することで、itemDataTemplate を返します。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)

self オブジェクトの targetPropertypath で作成された新しい Binding インスタンスにバインドします。Binds the self object's targetProperty to a new Binding instance that was created with path.

適用対象