共用方式為


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 多載。 DataTemplateSelector 的可覆寫方法是兩個 SelectTemplateCore 多載。 若要定義有效的 DataTemplateSelector 子類別,請提供 SelectTemplateCore (Object) SelectTemplateCore (Object、DependencyObject) 實作。 所有這些方法都會傳回 DataTemplate 實例,通常是適合用來取得方法輸入的特定選擇。

應用程式程式代碼通常不會呼叫 SelectTemplate 方法;方法存在,因此基礎結構可以在根據使用 DataTemplateSelector 實例從 ItemsControl.ItemsTemplateSelector 等屬性值中選擇正確的範本時呼叫它。

例如,參考自定義 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

適用於

另請參閱