Avalonia UI Chinese Doc
框架首页支持Github源码仓库官方文档(英文)
  • 👋欢迎
  • 文档
    • ⚡入门
      • 基础开发环境(IDE)支持
      • 使用Avalonia进行编程
        • Model-View-ViewModel模式(MVVM)
        • 控件和布局
        • 数据绑定
        • 图形和动画
      • 窗口Winodws
      • 用户控件UserControls
      • 资源Assets
      • 开发者工具
      • 记录错误和警告
      • 未处理的异常
      • 应用程序生命周期
    • 🔁数据绑定
    • 🎨样式
      • 样式
      • 选择器
      • 资源
      • 故障排除
    • 🧰控件
      • TreeDataGrid
        • 创建分层的TreeDataGrid
        • 创建平铺的 TreeDataGrid
        • TreeDataGrid列类型
    • 📚模板(Templates)
      • 数据模板
      • 实现 IDataTemplate
      • 在代码中创建数据模板
    • ✏️编写控件
      • 定义属性
      • 控件的类型
    • 🖱️输入(Input)
      • 路由事件
      • 剪贴板
      • 鼠标和指针设备
      • 快捷键
    • 🔑动画
      • 关键帧动画
      • 过渡
      • 页面过渡
    • 📐布局
      • 面板概述
      • 对齐方式、边距和内边距
      • 创建自定义面板
Powered by GitBook
On this page
Edit on GitHub
  1. 文档
  2. 📚模板(Templates)

在代码中创建数据模板

Avalonia也支持使用FuncDataTemplate<T>类在代码中创建数据模板。

简单来说,你可以通过将一个接受实例和namescope的lambda表达式传递给FuncDataTemplate<T>构造函数来创建一个数据模板:

var template = new FuncDataTemplate<Student>((value, namescope) =>
    new TextBlock
    {
        [!TextBlock.TextProperty] = new Binding("FirstName"),
    });

它等价于以下XAML代码:

<DataTemplate DataType="{x:Type local:Student}">
    <TextBlock Text="{Binding FirstName}"/>
</DataTemplate>

示例

FuncDataTemplate示例

Previous实现 IDataTemplateNext编写控件

Last updated 2 years ago