原文:通通玩blend美工(1)——荧光Button

  最近老大出差去了,光做项目也有点烦,写点教程消遣消遣(注:此乃初级教程,所以第一个消遣是本人消遣,第二个是指供各位看官消遣...)

  看着各位大虾出系列文章貌似挺好玩的,本人耍了2个月的Wpf,有点见解,希望各位看官笑纳。本系列第一章就先来点简单又实用的吧o(∩_∩)o 哈哈..

最终效果如下:

←点它

本人一直在做WPF算是第一次做silverlight,这样主要是为了能够在博客里更好的展示成品 。(特别鸣谢银光中国提供的免费silverlight空间)

1.总体思路


分析上面效果--button为一个发光的三角形在MouseOver和click的时候有响应的动画效果...

发光的三角形:由2个空心三角形构成,其中下面一层那个被加入了BlurEffect效果。

2.设计过程


打开blend,新建  silverlight应用程序+网站  (这些我就不浪费口水了)

首先我们来画一个等腰三角形的路径..如何让它等腰呢?我们这里利用了一点几何常识....

看到左边工具栏里面的图形

我们先画一个矩形,然后再画一个矩形的内接圆(由于blend对图形绘制时的定位有吸附效果,所以很容易画出内接圆)

然后用钢笔工具(P)连接3个切点,注意画的时候可以按住shift键来画,这点和PS一样可以让线保持在某几个角度范围,这样线就可以画的很直

可以把圈圈和框框del了,剩下三角形,根据自己需求调好角度和边框粗细,颜色等。(调角度时按shift也有效果哦)

然后我们把画好的三角形再CtrlV、CtrlC复制一份出来,把上面一层的边框颜色改为白色,如下图(有必要说明一下,因为XAML为解释性语言,后面创建的控件会覆盖在前面创建的控件上,这就导致图层结构显示和PS刚好相反,如下图,下面的Path在上面一层图层)

然后我们为下层的三角添加Effect效果,点新建,选BlurEffect.

         

做好后如下图:

再反复调下面一层三角形的Effect.Radius和边框粗细和颜色,直到自己想要的效果

作为一个Button它有点太大了,我们用选择工具(V)在画布上框选,或在左边树状结构里选中两个Path调节到自己想要的尺寸。

然后把它两加入到一个Grid里面,方法如下图。或者也可以选中两个图形后用快捷键Ctrl+G。

然后右键Grid,构成控件...

我们选择Button确定。

然后我们就发现真的变成Button了也~

我们把Button.Content的内容清空

我们进入编辑Button的模版,选中Button点下图中Grid就可进入

结构如下

我们选Grid,把它的背景色设为任意一个颜色,然后把透明度调为0(如果不这样做的话,空心三角形的内部为空的部分响应不了鼠标事件)

作为一个Button当然要有MouseOver的效果咯。

我们点状态选项栏,选中MouseOver状态,把作为发光虚化的三角形的边框改为另外一个颜色,再添加Normal状态到MouseOver的过度为0.3秒,这样让变化有个过程。如下图

同理,我们添加Pressd状态的样式,这里我们把整个Grid向右稍微移动一点,可以选中grid后用方向键→来调整,这样保证在一条水平线上。同样添加到其他任意状态的过度,如下图。

最后一步,按F5看一下你的成果吧~~!

源码下载:http://files.cnblogs.com/tong-tong/SilverlightApplication1.rar


在做上面这个Demo的时候突然有个想法,实施了下,效果不错,就作为耐心看完本教程的朋友的奖励吧~~

由于silverlight中没有VisualBrush所以实现倒影略显繁琐....

同样附上源码:http://files.cnblogs.com/tong-tong/SilverlightApplication1-%E5%89%AF%E6%9C%AC.rar

感谢各位的围观,喜欢的话,就推荐一下吧~~

马上要到北京出差,刚毕业第一次出差还是有点兴奋,从小在云南长大的我都没见过可以落到地上的雪,希望到了北京不会被冻成冰雕...囧

通通玩blend美工(1)——荧光Button的更多相关文章

  1. 通通玩blend美工(3)——可爱的云

    原文:通通玩blend美工(3)--可爱的云 好久没有写这个系列的博客了,这里给个电梯吧,照顾新来的同学~~ 通通玩blend美工(1)——荧光Button 通通玩blend美工(2)——时钟 目前我 ...

  2. 通通玩blend美工(2)——时钟

    原文:通通玩blend美工(2)--时钟 谢谢大家对我上一篇Blend的支持:通通玩blend美工(1)——荧光Button 再接再厉再来一篇~~! 这篇是建立在已经看得懂上一篇为基础来写的,有些细节 ...

  3. 通通玩blend美工(8)——动态绘制路径动画,画出个萌妹子~

    原文:通通玩blend美工(8)--动态绘制路径动画,画出个萌妹子~ 2年前我在玩Flex的时候就一直有一个疑问,就是如何来实现一个蚊香慢慢烧完的Loading动画呢? 刚经历了某甲方高强度一个月的洗 ...

  4. 通通玩blend美工(6)下——仿iPhone滚动选择器的ListBox(交互逻辑)

    原文:通通玩blend美工(6)下--仿iPhone滚动选择器的ListBox(交互逻辑) 上一篇我们已经把界面画出来了,这篇我们就来制作交互的逻辑吧.上一篇的电梯: http://www.cnblo ...

  5. 通通玩blend美工(7)——简约而不简单的块

    原文:通通玩blend美工(7)--简约而不简单的块 最近在研发一个WPF快速开发框架,满脑子都是各种逻辑各种模式,写一篇比较休闲娱乐的博客,宣泄下我对美工的热爱. 我一直以来有意无意在手机应用或者各 ...

  6. 通通玩blend美工(6)上——仿iPhone滚动选择器的ListBox(UI设计)

    原文:通通玩blend美工(6)上--仿iPhone滚动选择器的ListBox(UI设计) 好久没更新博客了,由于项目比较紧,期间收到不少园友的短消息,感谢大家对我的支持~~. 相信各位都在自己的神机 ...

  7. 通通玩blend美工(5)——旋转木马,交互性设计

    原文:通通玩blend美工(5)--旋转木马,交互性设计 这一篇偏向于逻辑的比较多,放在这个系列里会不会欠妥呢?在中国交互性设计也是美工的份内职责哦~ 所以没有blend基础的人也可以看懂这篇文章,不 ...

  8. 通通WPF随笔(1)——基于lucene.NET让ComboBox拥有强大的下拉联想功能

    原文:通通WPF随笔(1)--基于lucene.NET让ComboBox拥有强大的下拉联想功能 我一直很疑惑百度.谷哥搜索框的下拉联想功能是怎么实现的?是不断地查询数据库吗?其实到现在我也不知道,他们 ...

  9. Expression Blend4经验分享:制作一个简单的图片按钮样式

    这次分享如何做一个简单的图片按钮经验 在我的个人Silverlight网页上,有个Iphone手机的效果,其中用到大量的图片按钮 http://raimon.6.gwidc.com/Iphone/de ...

随机推荐

  1. jquery中的this与$(this)的区别总结(this:html元素)($(this):JQuery对象)

    jquery中的this与$(this)的区别总结(this:html元素)($(this):JQuery对象) 一.总结 1.this所指的是html 元素,有html的属性,可用 this.属性  ...

  2. vs 2013 常用快捷键及常见问题的解决

    1. 代码编辑 关闭当前文档:ctrl + F4 打开光标所在位置的文档:ctrl + G(shift + g) 返回上次编辑的位置:ctrl + -(键盘数字键 0 后的那个按键) 移动光标所在的行 ...

  3. [Ramda] Get Deeply Nested Properties Safely with Ramda's path and pathOr Functions

    In this lesson we'll see how Ramda's path and pathOr functions can be used to safely access a deeply ...

  4. js进阶 10-11/12 表单伪类选择器的作用

    js进阶 10-11  表单伪类选择器的作用 一.总结 一句话总结:能想到用伪类选择器来解决问题.如果能一次记住自然是最棒的. 1.表单伪类选择器分为哪两类? 表单元素和表单属性,表单元素例如inpu ...

  5. 【基础练习】【线性DP】codevs1576 最长严格上升子序列题解

    连题目都不放了,就是标题中说的那样.裸题 于是直接上代码 暑假要来了 好好学习 --炉火照天地,红星乱紫烟. 赧郎明月夜.歌曲动寒川.

  6. Android在网络上分析获取图片(支持bmp格式)

    Android学习系列 - 在网络上显示的图像(支持bmp格公式)) 参见例如,下面的代码: /**     * 至Url地址上去照片.并返回Bitmap回来     *     * @param i ...

  7. 【35.56%】【727A】Transformation: from A to B

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  8. IIS元数据库失败该如何解决-重新安装ASP.NET

    装了VS2005再装IIS,结果出了些小问题 “访问IIS元数据库失败 ” 思考可能是次序出了问题,解决 1.打开CMD,进入 C:\WINDOWS\Microsoft.NET\Framework\v ...

  9. 我已经写了DAL层的代码生成器

    (1)创建您自己的解决方案 文件夹结构如以下: (2)编写代码: (要使用数据库 建议创建随意数据库就可以) 创建配置文件App.config代码例如以下: <?xml version=&quo ...

  10. QT定时器的两种应用(QObject就有timerEvent事件,一种什么样的居心呢?)

    QT中定时器的使用方法(1)重载timerEvent(QTimerEvent *)函数,然后再在类的构造函数中设置时间间隔   startTimer(50);//单位为毫秒(2)在类的构造函数中设定如 ...