一起学习Avalonia(十二)

摘要:
可以使用数据模板自定义和显示数据模板模板。文档中介绍了Avalonia的基本数据模板。PublicstringFirstName{get;set;}publicstringLastName{get;set;}扩展使用文档最后介绍了扩展使用,包括2个模型。Student和Teacher。在MainWindowViewModel中创建属性Content。此属性是Student对象。如果是Student,将显示Student的模板内容。如果是教师,将显示教师的模板绑定内容。我自己编写了Person类,由学生和老师继承。

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

数据模板

 模板使用

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

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

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

请参阅文档例子实现。

文档使用

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

 public string FirstName { get; set; }
        public string LastName { get; set; }
一起学习Avalonia(十二)第1张

扩展使用

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

一起学习Avalonia(十二)第2张一起学习Avalonia(十二)第1张

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

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

另外文档介绍:

一起学习Avalonia(十二)第4张一起学习Avalonia(十二)第1张

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

可以是以上效果。

免责声明:文章转载自《一起学习Avalonia(十二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue的富文本编辑器使用,并且添加显示当前输入字数jquery跨域请求数据下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android(java)学习笔记191:ContentProvider使用之利用ContentProvider备份和还原手机短信(掌握)

1. 通过阅读系统源码我们知道: 短信的内容提供者: content://sms/            系统短信的内容提供者的路径 2. 利用ContentProvider备份和还原手机短信: (1)新建一个Android工程,命名为"短信备份助手",如下: (2)我们先实现UI布局,activity_main.xml,如下: 1 <Linea...

jQuery操作DOM对象

1.jQuery中的DOM操作 jQuery对JavaScript中的DOM操作进行了封装 2.设置和获取样式值 1.使用css()为指定的元素设置样式值或获取样式值 $(this).css("border","5px solid #f5f5f5"); 或 $(this).css({"border":"5px solid #f5f5f5","...

Flask-websocket实现聊天功能

群聊无昵称 原生js代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>群聊</title> </head> <body> <p> <...

vue中使用axios对同一个接口连续请求导致返回数据混乱的问题

项目中遇到该问题,记录一下 需求是连续请求5次同一个接口,但是参数不一样。最开始使用 forEach 接口循环调用接口,发现有时候先请求的比后请求的返回数据慢,导致数据顺序混乱,所以需要控制请求的顺序。 因为需要将5次数据拿到依次放入指定的数组中。 这里就使用到了 Promise.all getLawhelpMethod(){             ...

jquery学习笔记(二):DOM元素操作

内容来自【汇智网】jquery学习课程 2.1 元素属性操作 1.获取元素的属性 语法:attr(name) 参数name表示属性的名称 2.设置元素的属性 单个属性设置语法:attr(key,value) 多个属性设置语法:attr({key0:value0,key1:value1}) 3.删除元素的属性 语法:removeAttr(name) 2.2...

易错点。

1: Photo框架使用requestImageForAsset内存不能及时释放问题 1 // 1: targetSize 要获取的图片大小。一般设置为 屏幕宽*屏幕高*scale 生成的图片不会模糊。 2 // 2: contenMode 图片填充模式。 3 // 3: PHOmageRequestOptions 设置从图库...