Share via


DataTemplateSelector Kelas

Definisi

Mengaktifkan logika pemilihan templat kustom di tingkat aplikasi.

/// [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
Warisan
Object IInspectable DataTemplateSelector
Atribut
Penerapan

Keterangan

Untuk informasi selengkapnya tentang templat data, lihat kelas DataTemplate dan Kontainer dan templat item.

Kelas DataTemplateSelector dasar tidak digunakan sebagai elemen objek di XAML. Namun, ini adalah skenario umum untuk memperoleh DataTemplateSelector kustom, memetakan awalan xmlns untuk kelas kustom dan namespace/assembly-nya, lalu merujuk ke instans kelas kustom seperti yang didefinisikan dalam blok Sumber Daya di XAML. Ini memungkinkan untuk merujuk ke kelas pemilih templat kustom dengan x:Key, dan menggunakan referensi tersebut untuk mengatur nilai properti seperti ItemTemplateSelector dalam templat XAML dan status visual.

Metode DataTemplateSelector yang dapat dipanggil adalah dua overload SelectTemplate . Metode DataTemplateSelector yang dapat diganti adalah dua overload SelectTemplateCore . Untuk menentukan subkelas DataTemplateSelector yang efektif, berikan implementasi untuk SelectTemplateCore(Object) dan SelectTemplateCore(Object, DependencyObject). Semua metode ini mengembalikan instans DataTemplate yang biasanya merupakan pilihan tertentu yang sesuai untuk input metode yang dipanggil untuk mendapatkannya.

Kode aplikasi biasanya tidak memanggil metode SelectTemplate ; metode ada sehingga infrastruktur dapat memanggilnya saat memilih templat yang benar berdasarkan penggunaan instans DataTemplateSelector dari nilai properti seperti ItemsControl.ItemsTemplateSelector.

Misalnya XAML yang mereferensikan DataTemplateSelector kustom sebagai nilai HeaderTemplateSelector , dan contoh kode yang memperlihatkan penimpaan untuk metode HeaderTemplateSelector , lihat Cara mengelompokkan item dalam daftar atau kisi.

Konstruktor

DataTemplateSelector()

Menginisialisasi instans baru kelas DataTemplateSelector .

Metode

GetElement(ElementFactoryGetArgs)

Membuat atau mengambil instans objek UIElement yang ada yang dideklarasikan dalam DataTemplate yang dikembalikan oleh SelectTemplate.

RecycleElement(ElementFactoryRecycleArgs)

Mendaur ulang objek UIElement yang dibuat menggunakan GetElement.

SelectTemplate(Object)

Mengembalikan DataTemplate tertentu untuk item tertentu.

SelectTemplate(Object, DependencyObject)

Mengembalikan DataTemplate tertentu untuk item dan kontainer tertentu.

SelectTemplateCore(Object)

Saat diimplementasikan oleh kelas turunan, mengembalikan DataTemplate tertentu untuk item atau kontainer tertentu.

SelectTemplateCore(Object, DependencyObject)

Saat diimplementasikan oleh kelas turunan, mengembalikan DataTemplate tertentu untuk item atau kontainer tertentu.

Berlaku untuk

Lihat juga