在代码中创建数据模板

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示例

Last updated