DataTemplateSelector クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ オブジェクトとコンテナーに基づいて DataTemplate を選択します。 選択ロジックを実装するには、 OnSelectTemplate(Object, BindableObject) をオーバーライドします。
public ref class DataTemplateSelector abstract : Microsoft::Maui::Controls::DataTemplate
public abstract class DataTemplateSelector : Microsoft.Maui.Controls.DataTemplate
type DataTemplateSelector = class
inherit DataTemplate
Public MustInherit Class DataTemplateSelector
Inherits DataTemplate
- 継承
注釈
アプリケーション開発者は、 OnSelectTemplate(Object, BindableObject) メソッドをオーバーライドして、データ型と親コンテナーの組み合わせに対する一意の DataTemplate を返します。 さらに、 SelectTemplate(Object, BindableObject)の連続する呼び出しで、特定のデータに対して同じ正確なテンプレート インスタンスを返す必要があるため、開発者はこれらの DataTemplate を作成し、コンストラクターのオーバーライドに格納する必要があります。
開発者は、次の点に注意する必要があります。
- OnSelectTemplate は別の DataTemplateSelector を返す必要はありません。また、次の値を返す必要があります 。
- Android プラットフォームは、リスト ビューあたり 20 個のテンプレートに制限されています。
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() |
データ オブジェクトとコンテナーに基づいて DataTemplate を選択します。 選択ロジックを実装するには、 OnSelectTemplate(Object, BindableObject) をオーバーライドします。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Bindings |
テンプレート化された項目に適用するバインドのディクショナリを取得します。 (継承元 DataTemplate) |
| LoadTemplate |
データ オブジェクトとコンテナーに基づいて DataTemplate を選択します。 選択ロジックを実装するには、 OnSelectTemplate(Object, BindableObject) をオーバーライドします。 (継承元 ElementTemplate) |
| Values |
テンプレート化された項目に適用するプロパティ値のディクショナリを取得します。 (継承元 DataTemplate) |
メソッド
| 名前 | 説明 |
|---|---|
| CreateContent() |
XAML インフラストラクチャがデータ テンプレートを読み込み、結果の UI の内容を設定するために使用されます。 (継承元 ElementTemplate) |
| OnSelectTemplate(Object, BindableObject) |
データ オブジェクトとコンテナーに基づいて DataTemplate を選択します。 選択ロジックを実装するには、 OnSelectTemplate(Object, BindableObject) をオーバーライドします。 |
| SelectTemplate(Object, BindableObject) |
指定した項目とコンテナーの DataTemplate を返します。 |
| SetBinding(BindableProperty, BindingBase) |
テンプレート化された項目のプロパティのバインドを設定します。 (継承元 DataTemplate) |
| SetValue(BindableProperty, Object) |
テンプレート項目のプロパティの静的な値を設定します。 (継承元 DataTemplate) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IDataTemplateController.Id |
データ オブジェクトとコンテナーに基づいて DataTemplate を選択します。 選択ロジックを実装するには、 OnSelectTemplate(Object, BindableObject) をオーバーライドします。 (継承元 DataTemplate) |
| IDataTemplateController.IdString |
データ オブジェクトとコンテナーに基づいて DataTemplate を選択します。 選択ロジックを実装するには、 OnSelectTemplate(Object, BindableObject) をオーバーライドします。 (継承元 DataTemplate) |
拡張メソッド
| 名前 | 説明 |
|---|---|
| CreateContent(DataTemplate, Object, BindableObject) |
適切なテンプレートを選択し、指定した項目のコンテンツを作成します。 |
| SelectDataTemplate(DataTemplate, Object, BindableObject) |
テンプレートが DataTemplateSelectorの場合はセレクター ロジックを呼び出して、適切なテンプレートを返します。 |
| SetBinding(DataTemplate, BindableProperty, String) |
指定したプロパティとパスのテンプレートにバインドを作成します。 |