原文:用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. Swift教程之typealias代替OC的typedef

    //MARK:-------swift中的typedef-------------- //使用 keyword定义类型别名,相似typedef typealias NSInteger = Int va ...

  2. Linear Regression(线性回归)(一)—LMS algorithm

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 1.问题的引出 先从一个简单的例子说起吧,房地产公司有一些关于Po ...

  3. C语言sendto()函数-经socket传送数据以及recvfrom函数《转》

    相关函数:send, sendmsg, recv, recvfrom, socket 头文件:#include <sys/types.h>   #include <sys/socke ...

  4. Python easy_insatll 安装包

    Python 使用 easy_instal安装第三方扩展包更容易 easy insatll 下载地址 https://pypi.python.org/pypi/setuptools/ windows ...

  5. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...

  6. 小言C指针

            指针c语言,占据着重要的地位.终场前int.char.double其他类别似.它是一种数据类型,其特殊的原因int等基本类型的变量存储内容,针变量存放的是地址. 内存被划分成很多但愿区 ...

  7. Delphi颜色的表示(一共5种表示法)

    //全以红色举例: //1. RGB 模式:Self.Color := $0000ff; //不过和HTML.PhotoShop.FireWorks中的 #ff0000 是完全反的,应该叫 BGR. ...

  8. 修改注册表添加IE信任站点及启用Activex控件

    Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/In ...

  9. JXL 读取 Excel java中jxl导出数据到excel的例子 上传文件

    2010-10-14 19:17:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Entferne Dat ...

  10. svn自动发用户名密码到邮件(明文密码)

    #!/bin/sh touch testlist cat /dev/null > testlist grep "=" passwd |grep -v "#" ...