gpt4 book ai didi

html - WPF的grid based layout和html中禁忌的table based layout不一样吗?

转载 作者:太空狗 更新时间:2023-10-29 14:52:30 33 4
gpt4 key购买 nike

两者都采用相同的概念:定义一些行和列并将内容添加到特定位置。但是 Grid 是最常见的 WPF 布局容器,而 html 中基于表格的布局是 very controversial .那么,为什么 WPF 的网格布局受到赞扬而 html 的基于表格的布局被认为是“糟糕的”(一些人)?

最佳答案

重点是 WPF 中的网格被定义为一种布局机制,而 HTML 中的表格用于标记表格数据,您通常会在 WPF 中使用 DataGrid 或类似的东西。

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

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

另一个反对 HTML 中表格布局的观点是,您混合了内容和表示,这使得很难只更改其中一个,也很难单独获取内容(类似于屏幕阅读器和 Web 的上述问题爬虫)。在 WPF 中,两者已经分离(通过数据绑定(bind)),如果您愿意,您可以通过构建自定义控件来封装部分布局、将字符串和图像拉入资源等,进一步分离它们。

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

关于html - WPF的grid based layout和html中禁忌的table based layout不一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1516630/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com