次の方法で共有


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)

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

SelectTemplate(Object, DependencyObject)

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

SelectTemplateCore(Object)

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

SelectTemplateCore(Object, DependencyObject)

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

適用対象

こちらもご覧ください