一起学习Avalonia(十二)

这次主要说明一下最新的Avalonia的数据模板绑定。

数据模板

 模板使用

 数据模板可以定制显示,Avalonia基本的数据模板已经在文档中有使用介绍。

文档:https://avaloniaui.net/docs/templates/datatemplate

演示的内容是在窗口中使用数据模板,如果全局使用则文档强调了App.axaml中定义Application.DataTemplates。

请参阅文档例子实现。

文档使用

 经过测试,文档中的例子的model都需要使用属性,并且需要包含set,否则报错。

 public string FirstName { get; set; }
        public string LastName { get; set; }

扩展使用

文档最后介绍了一下扩展使用,有2个model.Student和Teacher。文档中强调了如果没有特定的类型则什么都不能匹配。我是浏览器翻译了后的文档。

通过该功能可以动态显示内容。

MainWindowViewModel中创建一个属性Content,该属性是Student对象是Student则显示Student的模板内容,是Teacher则显示Teacher模板绑定内容。

另外文档介绍:

经过测试可以使用多态,Content可以是父类,甚至直接是object,给Content赋值子类对象,任然是以上效果。我自己编写了Person类,Student,Teacher继承。Content属性为peron对象。

可以是以上效果。

原文地址:https://www.cnblogs.com/jinyu20180311/p/14956983.html