次の方法で共有


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 クラス 、および項目コンテナーとテンプレート を参照してください。

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

DataTemplateSelector の呼び出し可能なメソッドは、SelectTemplate オーバーロード 2 つあります。 DataTemplateSelector のオーバーライド可能なメソッドは、SelectTemplateCore オーバーロードの 2 つの です。 有効な 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 を返します。

適用対象

こちらもご覧ください