DataTemplateSelector 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
啟用應用層級的自訂範本選取邏輯。
/// [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
- 繼承
- 屬性
- 實作
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 。 |