原文:用XAML做网页!!—开篇

    这几日一直没发表新文章,一来是因为事比较多,二来就是我在研究使用XAML挑战传统HTML来做网页,这很可能是在全球的首次尝试,至少我从未找到任何可供参考的相关资料。

    我对这次挑战的结果打7分:

    XAML在页面布局、图形、动画及可控性方面的表现堪称完美,我甚至根本想不出来有什么能与之平分秋色;

    兼容性方面,XAML通吃所有Windows平台的各种浏览器,它实际上都是由后台的那个叫“Windows 演示基础主机”来解析和呈现的,所以只要是装有.Net 3.0的系统,不管什么浏览器都可以看,而且看起来都一样(非IE7的话会自动加一个导航条用来控制前进和后退);

    对于XAML功能性测试不在本次挑战的范围内,因为我为挑战HTML而完全使用XAML来创制,没有加入任何程序代码,但WPF浏览器应用程序的功能性之强大是显而易见的,说白了它就是一个套着浏览器马甲的Windows桌面程序,这显然比JS等脚本语言能实现的功能要多得多;

    XAML的呈现速度相比HTML来说存在差距,这主要体现在页面的载入和刷新时的等待上,不需要任何测试工具,你就能了解到它们的载入所需时间差异,但好在延迟不算太大,且对于XAML卓著的功能来讲,这是完全可以接受的;

    XAML明显的不足来自于文本布局,曾以为流文档可以完全胜任这方面的工作,谁知它和页面布局的接合能力简直可以用“一团糟”来形容,我认为这些是设计上的重大缺陷,在后面我会对此进行总结。

    我会在接下来的文章中重现我的创制步骤,在此之前先来展示一下最终实现的效果:

    完整尺寸页面抓图

    运行在Vista系统IE7中的抓图

    运行在XP系统FireFox中的抓图(未安装微软雅黑字体,所以字体看起来比较难看)

    此示例所呈现的内容除了正文中那个外链的小插图外,所有均使用XAML描述,未使用任何点阵图、Flash动画及程序代码,最终用于浏览的文件只有下面这些XAML文件:

    其中default.xaml是主页面,Info.xaml是嵌入到内容区域的流文档,其余均为由 Microsoft Expression Design 设计的图形资源。

    此示例所产生的布局是液态的。页面宽度可随浏览器宽度伸展,我设定了页面最小宽度为1000;页面高度是随其内容而变化的。

    创作步骤请待下篇。

用XAML做网页!!—开篇的更多相关文章

  1. 用XAML做网页!!—边栏与页脚

    原文:用XAML做网页!!-边栏与页脚 此次我们来设计边栏和页脚,首先从页脚开始,其代码很简单: <Border x:Name="Footer" BorderBrush=&q ...

  2. 用XAML做网页!!—导航栏

    原文:用XAML做网页!!-导航栏 这次要完成的是导航栏,这是页面中比较复杂的区域. 先在 Microsoft Expression Design 中绘制导航栏的背景图案: 导出为barback.xa ...

  3. 用XAML做网页!!—广告展示区

    原文:用XAML做网页!!-广告展示区 此次我们来进行广告展示区块的制作. 首先在Show区块中去掉原来设置的背景色,加入新的渐变背景设定: <Grid.Background> <L ...

  4. 用XAML做网页!!—页头

    原文:用XAML做网页!!-页头 接续上次进度,我们此次来制作页头. 首先要实现两侧边缘的美化,如下图所示: 在边缘处有一层朦胧的亮度反光效果,这也是通过简单的渐变实现的,而且我们在后面的每个区块中都 ...

  5. 用XAML做网页!!—框架

    原文:用XAML做网页!!-框架 上一篇中我进行了一下效果展示和概述,此篇开始将重现我此次尝试的步骤,我想大家通过阅读这些步骤,可以了解到XAML网页排版的方法. 下面就开始编写XAML,首先来定义一 ...

  6. 用XAML做网页!!—终结篇

    原文:用XAML做网页!!-终结篇 迄今为止的设计都很顺利,但这次就不得不接触我前面所说的非常糟糕的流文档了,但在此之前先来把标题弄好: <Border BorderBrush="#6 ...

  7. 用做网页开发经历了三个阶段(附长篇讨论) good

    用做网页开发经历了三个阶段:第一阶:傻干阶段使用Intraweb,傻瓜型,无需知道javascript,html,css,会pascal就可以了. 第二阶:困惑阶段使用Intraweb,有很多限制,比 ...

  8. 【学】CSS3基础实例1 - 用CSS3做网页中的小三角,以及transition的用法

    自开了博客园已经有2周了吧,虽然转载了一些觉得比较有用的文章之外还没有开始写自己的一些学习记录,那就从今天开始. 目前看了妙味的不少视频,有css+html,js的基础和中级也都看完了,作业也都做了, ...

  9. 有人说,即使没有JavaScript,你也可以做网页。在纯HTML

    有人说,即使没有JavaScript,你也可以做网页.在纯HTML +服务器端语言理论中也可以完成所有功能,那么,为什么以及在哪里存在JavaScript?   JS,全称JavaScript   在 ...

随机推荐

  1. 在命令行获取标准输入序列的反互序列,pep序列和长度信息

    近期对序列文件处理的比較多,时常要看一些核酸序列的反向互补序列,长度.可能的翻译序列. 曾经我常用seqBuider 来查看.假设能在命令行直接查看.想必是极好的. 这是一个perl脚本.只是我把它的 ...

  2. 怎样写Makefile文件(C语言部分)

    本文摘抄自"跟我一起写Makefile ",只是原文中我自己感觉比较精要的一部分,并且只针对C语言,使用GCC编译器. 原文请看这里:http://wiki.ubuntu.org. ...

  3. 记录路径dp-4713-Permutation

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4713 题目大意: 题意同HDU 3092这不过这题要输出路径. 解题思路: 思路同HDU 3092. ...

  4. J2EE开发框架搭建(1) - maven搭建多项目

    怎样使用maven搭建多个项目 1. 创建一个maven project 2. 在frame-parent项目上面点击右键,新建Maven Module 3. 完毕之后再建立一个web项目 4. 依照 ...

  5. [LeetCode] Unique Paths 2

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  6. MySQL字符集编码

    MySQL字符集编码总结 之前内部博客上凯哥分享了一篇关于mysql字符集的文章,之前我对mysql字符集一块基本没有深究过,看到凯哥文章后有些地方有点疑惑,遂自己去看了mysql的官方文档,并參考了 ...

  7. HOJ 2245 浮游三角胞(数学啊 )

    题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2245 Time Limi ...

  8. 使用XML的五种场合,XML基本规则,XML的术语,结构与语法

    在很多研讨会和培训班上我遇到过许多人,他们还不明白为什么要使用XML也不知道如何 在他们的应用中使用XML.一些来自诸如Gartner公司的报告建议说,商业公司不能再做 局外人了,不能对XML置之不理 ...

  9. Android短信监听(二)——利用ContentObserver实现短信监听

    MainActivity例如以下: package cc.testsmslistener; import cc.testsmslistener.SMSContentObserver.MessageLi ...

  10. hdu 4034 Graph

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4034 题目分类:图论 题意:n个顶点,然后给出从i到j的最短路径长度,求至少需要哪些边 第二组样例 第 ...