DataTemplateSelector クラス

定義

アプリケーション レベルでカスタム テンプレート選択ロジックを有効にします。

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector : IElementFactory
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector : IElementFactory
Public Class DataTemplateSelector
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
継承
Object IInspectable DataTemplateSelector
属性
実装

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

データ テンプレートの詳細については、 DataTemplate クラスと Item コンテナーとテンプレートに関するページを参照してください。

基本 DataTemplateSelector クラスは、XAML のオブジェクト要素として使用されません。 ただし、カスタム DataTemplateSelector を派生させ、カスタム クラスとその名前空間/アセンブリのプレフィックスをマップ xmlns し、XAML の Resources ブロックで定義されているカスタム クラスのインスタンスを参照するのが一般的なシナリオです。 これにより、 によって x:Keyカスタム テンプレート セレクター クラスを参照し、その参照を使用して、XAML テンプレートの ItemTemplateSelector やビジュアル状態などのプロパティの値を設定できます。

DataTemplateSelector の呼び出し可能なメソッドは、2 つの SelectTemplate オーバーロードです。 DataTemplateSelector のオーバーライド可能なメソッドは、2 つの SelectTemplateCore オーバーロードです。 有効な DataTemplateSelector サブクラスを定義するには、SelectTemplateCore(Object) と SelectTemplateCore(Object, DependencyObject) の実装を指定します。 これらのすべてのメソッドは、通常、それを取得するために呼び出されたメソッドの入力に適した特定の選択肢である DataTemplate インスタンスを返します。

アプリ コードでは、通常 、SelectTemplate メソッドは呼び出されません。メソッドが存在するため、インフラストラクチャは、 ItemsControl.ItemsTemplateSelector などのプロパティ値から DataTemplateSelector インスタンスを使用して適切なテンプレートを選択しながらそれを呼び出すことができます。

バージョン履歴

Windows のバージョン SDK バージョン 追加された値
1809 17763 GetElement
1809 17763 RecycleElement

コンストラクター

DataTemplateSelector()

DataTemplateSelector クラスの新しいインスタンスを初期化します。

メソッド

GetElement(ElementFactoryGetArgs)

SelectTemplate によって返される DataTemplate で宣言された UIElement オブジェクトの既存のインスタンスを作成または取得します。

RecycleElement(ElementFactoryRecycleArgs)

GetElement を使用して作成された UIElement オブジェクトをリサイクルします。

SelectTemplate(Object)

特定の項目の特定の DataTemplate を返します。

SelectTemplate(Object, DependencyObject)

特定の項目とコンテナーの特定の DataTemplate を返します。

SelectTemplateCore(Object)

派生クラスによって実装された場合、特定の項目またはコンテナーの特定の DataTemplate を返します。

SelectTemplateCore(Object, DependencyObject)

派生クラスによって実装された場合、特定の項目またはコンテナーの特定の DataTemplate を返します。

適用対象

こちらもご覧ください