共用方式為


DataTemplateSelector 類別

定義

啟用應用層級的自訂範本選取邏輯。

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 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
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
繼承
Object IInspectable DataTemplateSelector
屬性
實作

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)

備註

如需資料範本的詳細資訊,請參閱 DataTemplate 類別和 Item 容器和範本

基底 DataTemplateSelector 類別不會當做 XAML 中的物件專案使用。 不過,衍生自訂 DataTemplateSelector 是常見的案例,會對應 xmlns 自訂類別的前置詞及其命名空間/元件,然後參考 XAML 中 Resources 區塊中所定義的自訂類別實例。 這可讓您依 x:Key 參考自訂範本選取器類別,並使用該參考來設定 XAML 範本和視覺狀態中的 ItemTemplateSelector 等屬性值。

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

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

版本歷程記錄

Windows 版本 SDK 版本 新增值
1809 17763 GetElement
1809 17763 RecycleElement

建構函式

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

適用於

另請參閱