DataTemplateSelector 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在应用程序级别启用自定义模板选择逻辑。
/// [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
- 继承
- 属性
- 实现
注解
有关数据模板的详细信息,请参阅 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 实例选择正确的模板。
有关引用自定义 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 。 |