DataTemplateSelector クラス

定義

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

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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
Implements IElementFactory
See Remarks
継承
Object IInspectable DataTemplateSelector
属性
実装

注釈

詳細と例については、「 データ テンプレートの選択」を参照してください。 データ テンプレートの一般的な情報については、 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 インスタンスを使用して適切なテンプレートを選択しながら呼び出すことができます。

たとえば、カスタム DataTemplateSelector を HeaderTemplateSelector 値として参照する XAML や、 HeaderTemplateSelector メソッドのオーバーライドを示すコード例については、「 リストまたはグリッド内の項目をグループ化する方法」を参照してください。

コンストラクター

名前 説明
DataTemplateSelector()

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

メソッド

名前 説明
GetElement(ElementFactoryGetArgs)

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

RecycleElement(ElementFactoryRecycleArgs)

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

SelectTemplate(Object, DependencyObject)

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

SelectTemplate(Object)

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

SelectTemplateCore(Object, DependencyObject)

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

SelectTemplateCore(Object)

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

適用対象

こちらもご覧ください