两者都采用相同的概念:定义一些行和列并将内容添加到特定位置。但是 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/
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'
我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda
两个gsub产生不同的结果。谁能解释一下为什么?代码也可在https://gist.github.com/franklsf95/6c0f8938f28706b5644d获得.ver=9999str="\tCFBundleDevelopmentRegion\n\ten\n\tCFBundleVersion\n\t0.1.190\n\tAppID\n\t000000000000000"putsstr.gsub/(CFBundleVersion\n\t.*\.).*()/,"#{$1}#{ver}#{$2}"puts'--------'putsstr.gsub/(CFBundleVersio
我想用Nokogiri解析HTML页面。页面的一部分有一个表,它没有使用任何特定的ID。是否可以提取如下内容:Today,3,455,34Today,1,1300,3664Today,10,100000,3444,Yesterday,3454,5656,3Yesterday,3545,1000,10Yesterday,3411,36223,15来自这个HTML:TodayYesterdayQntySizeLengthLengthSizeQnty345534345456563113003664354510001010100000344434113622315
考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://
我正在使用Maruku,将Markdown(超集)转换为HTML,你知道我该怎么做才能从HTML转换为Markdown吗? 最佳答案 Google发现了一个名为reverse_markdown的ruby脚本.它似乎可以满足您的需求。 关于ruby-on-rails-我需要从HTML转到markdown,有什么建议吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/175162