[WPF] 考古Expression Web:微软当年最漂亮的WPF软件
1. 什么是Expression Web

Expression Studio是微软在2007年推出的一套针对设计师的套件,其中包含专业的设计工具和新技术,可以弹性且自由地将设计方案转为实际——无论设计的是标准的网站、拥有丰富用户经验的桌面应用,或是管理数字资产和内容。它包含以下部分:
- Expression Blend 4 + SketchFlow
- Expression Web 4 + SuperPreview
- Exression Design 4
- Expression Encoder Pro
具体信息可以参考这里:
Expression Studio 4正式版发布 - jv9 - 博客园
其中,Expression Web 是一个专业的设计工具,可用来建立现代感十足、且以标准为基础的网站,让您在 Web 上提供绝佳的质量。 透过使用强大的设计工具和工作窗格快速地合并 XML 数据,减少复杂度和简化数据整合。
透过 Expression Web 和 Visual Studio 对于 XML、ASP.NET 和 XHTML 的绝佳支持,您可以顺畅地整合 Web 设计和开发团队。 透过复杂的 CSS 设计功能,释放您的创意点子,并替您的网站注入活力。可视化的设计工具、专门的工作窗格和工具列,让您精确地控制版面配置和格式。
具体信息可以参考这里:
可是Expression这个品牌十分短命,5年后就被微软放弃了,只剩下被整合进Visual Studio的Blend,具体可见当时的报道:
微软终止 Web、设计和媒体工具 Expression 套件,Web 和 Design 免费提供下载
2. 为什么是Expression Web
最近打算写Blend的博客,突然来了兴致想看看很久没用过的Expression Studio,因为Expression Studio中的其它几个(Design,Encode)这两年时不时都还会用一下,所以就拿Web来怀旧。
这篇文章为什么分类为WPF?因为Expression Studio的剩余价值不在于它开发Web的功能,而在于它本身是一个有趣WPF软件。
3. Expression Web的功能
最新版的Web可以在以下地址下载:
Download Microsoft Expression Web 4 (Free Version) from Official Microsoft Download Center


安装画面即使现在看来也还是很漂亮,好歹当年是主打设计功能的软件,它本身的设计也不能差。

安装完后在“About”窗口可以看到最后更新是2012年。

这就是它的主界面,除了常用的Web设计功能,有两个功能我印象深刻,其中一个就是上图的Interactive Buttons,可以创建多个样式的按钮,并提供了这些按钮的图片。在当年我常常把这些图片拿去Silverlight上用。后来我写XAML越来越熟练,反而越来越觉得系统中的按钮应该越简洁越好,就再也不使用这种图片按钮了。
另一个印象深刻的功能是Microsoft Expression Web SuperPreview,它是微软发布的最好的IE调试工具,它可以让我们在各个版本 IE 浏览器下调试网站,使得网站在各个版本 IE 浏览器下兼容。在当时IE占有率有绝对优势的时候,说它是微软发布的最好的浏览器调试工具也不为过。

可是毕竟年代久远,在我的Windows 10电脑上已经运行不了IE6的部分,或许Windows 7 还可以试试吧。

4. Web的遗产

上面是正在被Visual Stuido 2019调试的Expression Web。在当时Expression Studio是微软发布的最漂亮的WPF软件,连右键菜单都经过精心设计,即使现在看来都很时髦(设计潮流又轮回了一次,最近微软又重新喜欢上了下面这种圆角设计):

Web运行速度也很快,整体UI十分流畅。既然已经不更新了,开源才是它们最好的归宿,毕竟现在很多WPF软件做得还不如当年的微Expression Studio,可惜微软完全没这个打算。如果有兴趣的话可以反编译抄抄它的控件,其实很久以前已经有人做过这方面的工作,例如这个项目:
WpfExpressionBlendTheme: A WPF theme which will make an application look like Expression Blend.
5. 结语
很多年前我还偶尔会用用Expression Web,前同事的设计师当年也常常夸Web好看又好用。另一个软件Design也很好用(10年前),有趣的是它的配色和最新的Adobe Illustrator 2020还很像,可以说微软难得前卫了一次:


[WPF] 考古Expression Web:微软当年最漂亮的WPF软件的更多相关文章
- WPF从入门到放弃系列第一章 初识WPF
什么是WPF WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供 ...
- WPF和Expression Blend开发实例:一个样式实现的数字输入框
原文:WPF和Expression Blend开发实例:一个样式实现的数字输入框 今天来一个比较奇淫技巧的手法,很少人用,同时也不推荐太过频繁的使用. 先上样式: <Style x:Key=&q ...
- WPF和Expression Blend开发实例:模拟QQ登陆界面打开和关闭特效
不管在消费者的心中腾讯是一个怎么样的模仿者抄袭者的形象,但是腾讯在软件交互上的设计一直是一流的.正如某位已故的知名产品经理所说的:设计并非外观怎样,感觉如何.设计的是产品的工作原理.我觉得腾讯掌握了其 ...
- SharePoint 使用Expression Web 设计网站
创建好网站以后可就可以开始发布了 possible causes : 1.The web server may not hava the FrontPage Server Extensions ins ...
- Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径
Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...
- WPF笔记(1.8 资源与映射)——Hello,WPF!
原文:WPF笔记(1.8 资源与映射)--Hello,WPF! 终于,看明白了,已经是凌晨1:39分.这本书这一节写得实在是不好,一个local搞得我糊里糊涂,于是,准备按照他的思路,按照我的理解,改 ...
- WPF编程,获取句柄将外部程序嵌入到WPF界面。
原文:WPF编程,获取句柄将外部程序嵌入到WPF界面. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details ...
- 浅谈WPF中对控件的位图特效(WPF Bitmap Effects)
原文:浅谈WPF中对控件的位图特效(WPF Bitmap Effects) -------------------------------------------------------------- ...
- WPF 使用DMSkin for WPF 快速搭建漂亮的WPF程序
DMSkin-for-WPF是一个基于WPF的.Net WPF开源界面库,实现了无边框的WPF开发方案,内置部分控件模板. 你可以参照模板自行修改完善.(以下简称DFW). 核心 DFW实现了比较完美 ...
随机推荐
- flask中 多对多的关系 主从表之间的的增删改查
# 角色表模型class Role(db.Model): r_id = db.Column(db.Integer, primary_key=True) r_name = db.Column(db.St ...
- Cygwin工具编译Ardupilot方法
注意:该编译方法生成的固件基于Chibios系统,如果想要Nuttx系统固件,需采用make编译,步骤见make编译说明部分. 软件安装准备 安装Cygwin 打开链接www.cygwin.com/i ...
- windows server 2016 远程桌面mstsc DPI(更改文本、应用和其他项目大小) 设置
windows server 2016 远程桌面mstsc DPI 设置 在高分辨率机器2K,4K,8K,登入使用window远程桌面mstsc时,登入后虽然分辨率变成了和cilent一样分辨率 但是 ...
- Jenkins集成时报错 hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx:32034
Started by user test Running as SYSTEM Building remotely on home_windows (mbhCloud_UI_Test) in works ...
- C、Guard the empire(贪心)
链接:https://ac.nowcoder.com/acm/contest/3570/C 来源:牛客网 题目描述 Hbb is a general and respected by the enti ...
- Java中的get()方法和set()方法
在Java中,为了数据的安全,换句话说就是为了隐藏你的代码的一些实现细节,我们会用private来修饰属性,使用private修饰的属性就不能被其他类直接访问了,想要访问就需要通过set.get方法: ...
- python编程心得(1)
1.创建字典 字典名 = {键名1:键值1,键名2:键值2,...} sanguo = {"诸葛亮草船借箭":"满载而归","关公赴会 ...
- php依赖注入与容器,Container,控制反转
依赖注入与Ioc容器 概念: 容器:可以理解为用来存放某个东西的物品(篮子?),存放的东西取决于你想往里面放点什么.在这里,我们是存放某个类,类的描述或者一个返回类实例的闭包函数. Ioc(Inver ...
- C++类的成员初始化
C++类的成员初始化 学到一个类的成员初始化,目前已知的用途是给类内部的const类型变量进行赋值. 首先,如果像这么干,编译器会报错. class MyClass{ public: Myclass( ...
- 浏览器判断兼容IE
很多时候IE浏览器的兼容性问题总是让人很头疼,或许是样式的或许是脚本的.总之因为IE的低版本问题会引发各种各样的问题出来. function isUnderIE10() {//IE 6,7,8,9 i ...