02、Universal app 中按钮图标使用
前言,windows10 昨天凌晨发布了,windows store 开发模型比以前的 silverlight 模型由很多优势,
我也小兴奋了一把。
正文:
在 windows phone 8.0 以前的开发中, application bar 的图标设置相对单一,到了 windows store app 后,
app bar 的设置方式较多了。
首先在页面中,5个按钮的显示效果(按钮放大后,明显看到第三个 “搜索按钮” 出现了锯齿现象,原因是使用了 png 图片作为图标,
其它的是使用的矢量图标 或者控件,支持无损缩放):
前面 4个:

第5个:

全部的相关 xaml 代码:
<Page.BottomAppBar>
<CommandBar>
<AppBarButton Label="飞机">
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph=""/>
</AppBarButton.Icon>
</AppBarButton> <AppBarButton Label="笑脸">
<AppBarButton.Icon>
<SymbolIcon/>
</AppBarButton.Icon>
</AppBarButton> <AppBarButton Label="搜索">
<AppBarButton.Icon>
<BitmapIcon UriSource="Images/test/search.png"/>
</AppBarButton.Icon>
</AppBarButton> <AppBarButton Label="椭圆">
<AppBarButton.Icon>
<PathIcon>
<PathIcon.Data>
<EllipseGeometry RadiusX="10" RadiusY="5" Center="20,20"/>
</PathIcon.Data>
</PathIcon>
</AppBarButton.Icon>
</AppBarButton> <AppBarButton Label="控件">
<TextBlock Text="love" Foreground="Yellow" FontSize="15" Margin="8,10,0,0"/>
</AppBarButton>
</CommandBar>
</Page.BottomAppBar>
1、飞机图标
使用的是 windows 系统默认安装的 “Segoe UI Symbol” 字体
1)在 win8.1 系统桌面右侧的 “超级按钮” 中搜索选项中,输入“字符”,打开 “字符映射表” :

2)打开后,选择 “Segoe UI Symbol” 字体,并且选择需要设置的图标(这里选择 “飞机”):

将 "" 设置给 FontIcon 的 Glyph属性,注意前缀 &#x 和 后缀 ;
<AppBarButton Label="飞机">
<AppBarButton.Icon>
<FontIcon FontFamily="Segoe UI Symbol" Glyph=""/>
</AppBarButton.Icon>
</AppBarButton>
3) 可以在 xaml 页面中,选中 AppBarButton 后,点击键盘的 F4, 在属性窗口中,进行设置:

2、笑脸图标
在 xaml 中,选中app bar 中的按钮,F4 打开属性对话框,在 Symbol 下拉框中,有很多
ICON 枚举可以选择:

相关的 xaml:
<AppBarButton Label="笑脸">
<AppBarButton.Icon>
<SymbolIcon/>
</AppBarButton.Icon>
</AppBarButton>
3、搜索图标
这个是最简单的了,把 BitmapIcon 对象设置为本地工程目录下的一张 png 图片即可,缺点是
如果在高清屏上,有可能出现锯齿,而其它几个是支持矢量缩放的。

相关 xaml:
<AppBarButton Label="搜索">
<AppBarButton.Icon>
<BitmapIcon UriSource="Images/test/search.png"/>
</AppBarButton.Icon>
</AppBarButton>
4、设置 PathIcon.Data
因为该 Data 对象是一个 Geometry 类型的属性,所以可以把它的众多子类赋值给它:

这里设置一个简单的椭圆:

5、直接设置 UIElement 作为 AppBarButton 的内容
1)在 xaml 页面,打开 AppBarButton的属性对话框:

这里设置为一个 TextBlock 控件:

显示效果:

之所以可以直接设置 xmal 元素,原因是 AppBarButton 继承自 Button,

而 Button 间接继承自 ContentControl,它的 Content 属性是 object 类型的:

(另附一个园友的 “Segoe UI Symbol图标字体及常用图标列表”)
图标利器 “MetroStudio”
从 version 1.0 就开始使用了,现在是最新的 version 3.0(下载地址),功能更加丰富,图标也变多了
1)众多可以选择的矢量 icon:

2)比如上面的 “太极” 的图案,点击“编辑按钮”,可以进行各种编辑操作:

3)选择 “代码视图”,可以直接编辑生成的 xaml 和 网页绘制控件的 svg 格式的代码,相当酷:

完。
相关:
1、Guidelines for Segoe UI Symbol icons
02、Universal app 中按钮图标使用的更多相关文章
- 使用MVVM-Sidekick开发Universal App(二)
上一篇文章已经建立了基本的实体类,并且搞定了多语言的问题,以后在app里用字符串的时候就可以从资源文件中取了.现在继续进行. 一.添加一个页面 CurrencyExchanger首页是一个货币兑换的列 ...
- Windows Phone 8.1 开发技术概览 (Universal APP)
前一阵真的比较懒 WP8.1 已经出来这么长时间了现在才更新BLOG让大家久等了,今天我先为大家介绍下 WP 8.1的开发框架,什么是微软所推崇的 Universal APP,以及我们要开发 Univ ...
- 如何在移动端app中应用字体图标icon fonts (转)
原文: http://www.cnblogs.com/willian/p/4166757.html?utm_source=tuicool&utm_medium=referral How to ...
- 下载企业级证书打包的app 出现“正在下载”或“等待中”的图标并且无法删除的问题
下载企业级证书打包的app 出现“正在下载”或“等待中”的图标并且无法删除的问题: 原因分析:手机上的bundleid 与后台plist文件中的bundleid不一致导致的. 解决方案:用plist文 ...
- 如何在移动端app中应用字体图标icon fonts
How to use icon fonts in your mobile apps 在任何APP设计中实现可图形的矢量缩放最完美的方式是使用字体图标. 移动端的设计变的越来越复杂.原因在于多样的屏幕尺 ...
- uni app中使用自定义图标库
项目中难免会用到自定义图标,那在uni app中应该怎么使用呢? 首先, 将图标目录放在static资源目录下: 在main.js中引入就可以全局使用了 import '@/static/icon-o ...
- 分享 Ionic 开发 Hybrid App 中遇到的问题以及后期发布 iOS/Android 的方方面面
此篇文章主要整理了最近在使用 Ionic 开发 Hybrid App 过程中遇到的一些疑难点以及后期发布生成 iOS 和 Android 版本过程中的种种问题. 文章目录 Ionic 简介和项目需求介 ...
- 网页与APP中那些优美的登陆表单
我从Dribbble收集了20个漂亮的登陆表单案例.希望你看后能从中受益,并对你以后的登陆表单设计有帮助.设计一个登陆表单是非常容易,但大多设计都很糟糕.毫无亮点.无论如何,这篇Dribbble案例集 ...
- 全面分析:APP中的消息功能设计
一.定义 APP的“消息”模块,是通过APP或手机这个客户端,围绕某个产品的功能进行交流.沟通的重要方式.这种沟通,一方是运营人员或商家,也可以是产品或系统本身,为方便说明笔者这里姑且统一简称为B端, ...
随机推荐
- 织梦(Dedecms) 5.1 feedback_js.php 注入漏洞
漏洞版本: DEDECMS 5.1 漏洞描述: 同样是在magic_quotes_gpc=off的情况下可用 此漏洞可拿到后台管理员的帐号和加密HASH,漏洞存在文件plus/feedback_js. ...
- Orchard运用 - 在页面每篇随笔添加编辑链接
今天继续捣鼓Orchard系统,在此分享一个小技巧,如何在页面每个随笔添加编辑链接,这样方便管理员直接点击进去编辑内容.是的,只对管理员可见. 话说这一个特性一开始是默认启用并集成在核心实现中的,后来 ...
- C#获取相对路径[转]
C#最常使用的相对路径是从当前程序所在路径开始相对寻径,找到要找的路径,即以下两种最简单的方式: 1. 程序根目录.(即exe程序所在路径) //下面两个路径是等价的,都是exe程序所在路径(通常是b ...
- 9个实用的Javascript代码高亮脚本
代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试语法错误的时候.我们可以将代码高亮,以便阅读者可以十分方便的读取代码块,增加用户阅读代码的良好体验. 目 ...
- EasyUI-EasyUI框架入门学习
前言 新项目的开发前端技术打算采用EasyUI框架(基于EasyUI较为丰富的UI组件库),项目组长将前端EasyUI这块的任务分配给了我.在进行开发之前,需要我这菜鸟对EasyUI框架进行一些基础的 ...
- Pairwise
FCC题目:找到你的另一半 有一个能力数组[7,9,11,13,15],按照最佳组合值为20来计算,只有7+13和9+11两种组合.而7在数组的索引为0,13在数组的索引为3,9在数组的索引为1,11 ...
- STL - C++ 11的Lambda表达式(下)
关于lambda的基础知识,请参考上一篇的地址如下: http://www.cnblogs.com/davidgu/p/4825625.html 我们再举个STL使用Lambda来进行排序的例子,如下 ...
- octopress github 换电脑 使用
octopress github 换电脑 使用
- flowplayer视频播放插件[转]
最近项目中需要添加播放视频的功能,视频文件是flv格式的.在网上找了一些jQuery视频播放插件,还是觉得“flowplayer”要好一些.特将使用方法记录一下. flowplayer也有html5版 ...
- UNIX网络编程学习笔记:值-结果(value-result)参数
前言 当把套接口地址结构传递给套接口函数时,总是通过指针来传递的,即传递的是一个指向结构的指针.结构的长度也作为参数来传递,其传递的方式取决于结构的传递方向:从进程到内核,还是从内核到进程. 1.从进 ...