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 类和 项容器和模板。
基 DataTemplateSelector 类不用作 XAML 中的对象元素。 但是,常见方案是派生自定义 DataTemplateSelector,映射 xmlns 自定义类及其命名空间/程序集的前缀,然后引用 XAML 中资源 块中定义的自定义类的实例。 这样就可以通过 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 。 |