在代码中创建
Avalonia UI 支持在代码中创建数据模板。您可以通过使用实现 IDataTemplate
接口的 FuncDataTemplate<T>
类来实现。
简单来说,您可以通过将一个 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>
更多示例
信息
查看 Avalonia UI 示例项目中 FuncDataTemplate<T>
类的一些更高级用法 here。