当前位置:  开发笔记 > 后端 > 正文

WPF的基于网格的布局是不是与基于表格的布局相同,这是html中的禁忌?

如何解决《WPF的基于网格的布局是不是与基于表格的布局相同,这是html中的禁忌?》经验,为你挑选了1个好方法。

两者都采用相同的概念:定义一些行和列并将内容添加到特定位置.但Grid是最常见的WPF布局容器,而html中基于表格的布局是非常有争议的.那么为什么WPF的网格布局受到称赞并且html的基于表格的布局被认为是"坏"(某些人)?



1> Joey..:

关键是WPF中的Grid被定义为布局机制,而HTML中的表用于标记表格数据,在WPF中通常使用DataGrid或类似物.

HTML在这方面的问题并不在于您使用表格进行布局.事实上,CSS3模板布局模块并没有太大的不同.问题是表中的内容没有语义结构,因此屏幕阅读器,搜索引擎等是不可访问的.他们希望表格能够保存表格数据,因为任何视觉布局机制都无法对没有视力的东西(例如屏幕阅读器,网络爬虫或盲人)产生任何意义.

在WPF中,有各种方法可以解决这个问题.首先,WPF用于图形用户界面设计,因此非常直观.这自然意味着盲人的某种不适应性.此外,网络爬虫并不是一个真正的问题(暂时忽略XBAP;到目前为止还没有看到过那些).除此之外,WPF还与Windows中的现有辅助功能技术配合使用,以确保屏幕阅读器能够以与传统Windows应用程序相同的方式理解UI.因此,您在此处获得的可访问性元信息比HTML中固有的更多.此外,唯一可以访问外部的是完全渲染的网格.不是它下面的标记,而是屏幕上某处的一系列控件.对于那些适用于任何其他窗口的规则也是如此.

HTML中布局表格的另一个观点是,您混合了内容和演示文稿,这使得很难仅仅更改其中一个内容并且难以单独访问内容(类似于屏幕阅读器和网络抓取工具的上述问题).在WPF中,两者都已经分开(通过数据绑定),如果您愿意,可以通过构建自定义控件来封装布局的各个部分,将字符串和图像拉入资源等,以进一步分离它们.

总而言之,HTML没有适当的机制来构建复杂且吸引人的布局,而表格是解决该问题的方法(具有所有固有的弱点和问题).另一方面,WPF是从头开始构建的,具有解决这些缺点的技术和方法,并且它们在很大程度上实际上是最佳实践.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有