Blend_技巧篇_导入PSD文件制作ToggleButton (Z)
原文:Blend_技巧篇_导入PSD文件制作ToggleButton (Z)
系统: Win7sp1 32位
IDE: Microsoft VisualStudio 2013 Ultimate
Blend 2013
工程: .Net Framework4.5.1
工具: Photoshop CS6
================================
首先明确一点,ToggleButton实际上是CheckBox的变形,分为了三种状态Checked、Unchecked、Indeterminate
1、制作PSD模板文件,如下图,背景删除有利于后续控件制作。
2、启动Blend2013,其他版本亦可。新建一个WPF Application工程,然后如图所示导入PSD文件
导入PSD文件后如图所示
图中我进行了标记:
① PSD模板中ToggleButton的Checked状态
② PSD模板中ToggleButton的Unchecked状态
③ PSD文件中对应图层保存的格式:Editable content--这个是我们需要的格式,这样导入后的图形可以编辑,例如填充颜色,改变描边等等;Flattened bitmap -- 这个就是保存成为一张普通的图片,如果是做个按钮的贴图还可以,在此例中我们不需要
④ 可能你也会看到这样的提示,提示表明Photoshop中使用的一些特效在Blend中不支持,不要紧只管导入,有什么问题我们后面可以处理。
至于需要导入的模板,我只勾选了OFF组里面的3个(就是②对应的那个图),当然你也可以选择ON组里面的,个人喜好了,那个bg就不要勾选了,就是个白色背景,我们需要的是透明背景。选择好了后点OK。
Blend导入完成后的状态如图所示,应该只有红框中的一个按钮
注:btn_07为ToggleButton在Checked状态下显示的绿色对勾。这个是我用PS中切片切出来的,因为我勾选的白色OFF状态下的模板,所以我需要通过代码做出Checked状态下(ON模板)的模样。可能你导入后的图形颜色会有丢失情况,那是因为Photoshop中使用的一些特效Blend中不支持,不要紧,我们可以在PS中做切片把图片切出来。例如我的off icon.png这个文件导入后就变成了黑色的,在PSD模板中应该是红色的。
3、导入PSD模板完成后,应如图所示。应该只有OFF_Copy这一个画布(Canvas)
然后我们做如图中黄色的那部分操作,把这个画布(Canvas)转成一个UserControl,点击后会弹出一个让你起名字的对话框,
输入自定义的名称后会在工程中生成一个UserControl控件。如图所示:
接下来,我们需要做一个控件的模板(Template),把控件相关的Path、Image等等的控件都包含进去。
这样做是因为我们需要把这个自定义的控件转换成ToggleButton,
如果不做这步,直接把节点UserControl改成ToggleButton会有问题滴,至于什么问题可以自己进行尝试,反正我是试过了。步骤如图所示:
点击创建空模板后会弹出一个给模板起名字的窗口,如图所示:
① 模板的名称
② 和③其实这两个是一起的,如果选择② ,那么自定义的这个模板就会放置在App.xaml中,可以将来做为其他控件的模板,本例中我们只有这一个控件,那么就选择③了。
点击OK后,你会发现Design区域的控件不见了,只有一个蓝色的空白框在那里。此时我们来看代码,如图所示:
我们需要把包括Grid节点在内的代码替换UserContro.Resources节点下的Grid,替换完成后又看到了我们自定义的控件了,不再是一个空白的蓝色框了。
因为我们做的这个控件需要Checked、Unchecked事件,并且最好还是个按钮,所以ToggleButton正好符合我们的条件,那么我们就把节点UserControl改成ToggleButton,这样这个控件就继承了ToggleButton的属性。
Blend_技巧篇_导入PSD文件制作ToggleButton (Z)的更多相关文章
- Blend_技巧篇_淡入淡出
原文:Blend_技巧篇_淡入淡出 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010265681/article/details/766517 ...
- U盘使用技巧篇 制作一般人删除不了的文件(宣传视频) (量产开卡)
一. 视频制作成ISO ,放好 视频 图标文件 制作工具 : UltraISO 图标制作: 插入光盘状态:用autorun.inf格式:[autorun]open=Install.exe 点击光盘时 ...
- 《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)
1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...
- 《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)
1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...
- 《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)
1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容.由于java不像python那样有直接操作Excle文件的类 ...
- 《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)
1.简介 前面介绍了POI可以操作excel,也简单的提到另一个操作excle的工具,本篇介绍一个其他的可以操作excel的工具,但是这个工具有一个前提,excel文件版本只能是97-2003版本,如 ...
- 《手把手教你》系列技巧篇(六十九)-java+ selenium自动化测试 - 读取csv文件(详细教程)
1.简介 在实际测试中,我们不仅需要读取Excle,而且有时候还需要读取CSV类的文件.如何去读取CSV的文件,宏哥今天就讲解和分享一下,希望对你能够有所帮助.前面介绍了如何读取excel文件,本篇介 ...
- iOS静态库.a文件制作和导入使用
iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...
- 《手把手教你》系列技巧篇(五十三)-java+ selenium自动化测试-上传文件-上篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
随机推荐
- 自己定义View——坑、技巧、调优
<span style="font-size:14px; font-family: Arial, Helvetica, sans-serif; background-color: rg ...
- bootstrap课程1 bootstrap为什么这么火
bootstrap课程1 bootstrap为什么这么火 一.总结 一句话总结:响应式,样式多,功能多. 1.bootstrap通过什么药实现响应式? 响应式web布局是让用户通过不同尺寸的浏览器都可 ...
- 8、hzk16的介绍以及简单的使用方法
HZK16 字库是符合GB2312标准的16×16点阵字库,HZK16的GB2312-80支持的汉字有6763个,符号682个.其中一级汉字有3755个,按 声序排列,二级汉字有3008个,按偏旁部首 ...
- php面试题四
php面试题四 一.总结 二.php面试题四 01. 输出为 Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)时,可能的输出语句是: A.$_S ...
- 命令行运行python模块时提示包找不到的问题
庄稼人不是专职python开发的道友.尽管与python相识已多年,可惜相识不相知,仅仅是偶尔借助pydev写一些简单的小工具. 多年来.一直困惑于这样一个问题:相同的project.相同的代码,使用 ...
- 如何编辑SDE数据库(转载)
转自原文 如何编辑SDE数据库(转载) 如何编辑SDE数据(转自ESRI中国社区) (2008-12-15 17:26:41) 很多刚入门的朋友对SDE数据并不太了解,接二连三的在社区里面发问,有时也 ...
- [GraphQL] Write a GraphQL Mutation
In order to change the data that we can query for in a GraphQL Schema, we have to define what is cal ...
- JNI_Android 项目中调用.so动态库实现详解
转自:http://www.yxkfw.com/?p=7223 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.java package com.wwj. ...
- 【u008】瑞瑞的木棍
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 瑞瑞有一堆的玩具木棍,每根木棍的两端分别被染上了某种颜色,现在他突然有了一个想法,想要把这 些木棍连在 ...
- ArcGIS 帮助文件中的CAD数据的说明
专业库——地理数据类型——cad