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 。 |