前言,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

2、Symbol enumeration

02、Universal app 中按钮图标使用的更多相关文章

  1. 使用MVVM-Sidekick开发Universal App(二)

    上一篇文章已经建立了基本的实体类,并且搞定了多语言的问题,以后在app里用字符串的时候就可以从资源文件中取了.现在继续进行. 一.添加一个页面 CurrencyExchanger首页是一个货币兑换的列 ...

  2. Windows Phone 8.1 开发技术概览 (Universal APP)

    前一阵真的比较懒 WP8.1 已经出来这么长时间了现在才更新BLOG让大家久等了,今天我先为大家介绍下 WP 8.1的开发框架,什么是微软所推崇的 Universal APP,以及我们要开发 Univ ...

  3. 如何在移动端app中应用字体图标icon fonts (转)

    原文: http://www.cnblogs.com/willian/p/4166757.html?utm_source=tuicool&utm_medium=referral How to ...

  4. 下载企业级证书打包的app 出现“正在下载”或“等待中”的图标并且无法删除的问题

    下载企业级证书打包的app 出现“正在下载”或“等待中”的图标并且无法删除的问题: 原因分析:手机上的bundleid 与后台plist文件中的bundleid不一致导致的. 解决方案:用plist文 ...

  5. 如何在移动端app中应用字体图标icon fonts

    How to use icon fonts in your mobile apps 在任何APP设计中实现可图形的矢量缩放最完美的方式是使用字体图标. 移动端的设计变的越来越复杂.原因在于多样的屏幕尺 ...

  6. uni app中使用自定义图标库

    项目中难免会用到自定义图标,那在uni app中应该怎么使用呢? 首先, 将图标目录放在static资源目录下: 在main.js中引入就可以全局使用了 import '@/static/icon-o ...

  7. 分享 Ionic 开发 Hybrid App 中遇到的问题以及后期发布 iOS/Android 的方方面面

    此篇文章主要整理了最近在使用 Ionic 开发 Hybrid App 过程中遇到的一些疑难点以及后期发布生成 iOS 和 Android 版本过程中的种种问题. 文章目录 Ionic 简介和项目需求介 ...

  8. 网页与APP中那些优美的登陆表单

    我从Dribbble收集了20个漂亮的登陆表单案例.希望你看后能从中受益,并对你以后的登陆表单设计有帮助.设计一个登陆表单是非常容易,但大多设计都很糟糕.毫无亮点.无论如何,这篇Dribbble案例集 ...

  9. 全面分析:APP中的消息功能设计

    一.定义 APP的“消息”模块,是通过APP或手机这个客户端,围绕某个产品的功能进行交流.沟通的重要方式.这种沟通,一方是运营人员或商家,也可以是产品或系统本身,为方便说明笔者这里姑且统一简称为B端, ...

随机推荐

  1. Exdata cell 节点配置时遇到的一个问题

    问题描写叙述: [celladmin@vrh4 ~]$ cellcli CellCLI: Release 11.2.3.2.0 - Production on Sat Jun 14 09:11:08 ...

  2. zend studio 13.0.0 安装破解汉化

    zend studio 13安装破解汉化步骤 官网原版下载 http://downloads.zend.com/studio-eclipse/13.0.0/ZendStudio-13.0.0-win3 ...

  3. HTTP协议响应消息的常用状态码【转】

    “100″ : Continue(继续) 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) “101″ : Switching Protocols(切换协议) 请求者已要求服 ...

  4. 黑马程序员_<<TCP>>

    ---------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. TCP/IP 1.概述 要建立连接, ...

  5. Unity3D For Android 开发教程

    原地址:http://game.ceeger.com/Unity/Doc/2011/Unity3D_For_Android.html 我自认为抵挡诱惑的能力还是很强大的,关键的时候还能把持住自己.今天 ...

  6. taro 更新

    更新 Taro 提供了更新命令来更新 CLI 工具自身和项目中 Taro 相关的依赖 更新 Taro CLI 工具 # taro $ taro update self # npm npm i -g @ ...

  7. vim中翻页的命令

      整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl-e ctrl-y zz 让光标所杂 ...

  8. Openerp workflow 工作流批注模块

    转自:http://blog.csdn.net/yeahliu/article/details/17207289 2013-12-22 添加workflow_stop标识,感谢广州-jerry 201 ...

  9. 安卓手机GPU OpenCL总结(转)

    前段时间,把市面上手机GPU OpenCL支持情况做了一个总结.总结如下: 目前,手机 GPU 市面有四个公司产品:Qualcomm, Imagination Technologies,ARM, Vi ...

  10. 记一次CurrentDirectory导致的问题

    现在项目里需要实现一个功能如下: A.exe把B.exe复制到临时目录,然后A.exe退出,B.exe负责把A.exe所在的整个目录删除. 实现: A.exe用CreateProcess创建B.exe ...