上一篇以《Dota宝典》为例初步介绍了如何去初步开发一个Win8 App,这一篇我们将继续沿用《Dota宝典》的例子为大家介绍一下如何使用Secondary Tile。

  SecondaryTile即辅助磁贴,MSDN解释如下:

  辅助磁贴允许直接访问应用中的特定位置或体验。示例包括社交媒体应用中的单个好友、照片应用中的特定相册、已保存的游戏或音乐应用中的播放列表。当用户选择选择辅助磁贴时,它会启动侧重于固定内容的父应用。应用控制什么内容可以固定为辅助磁贴,但固定通常是用户操作。至少在创建辅助磁贴之前,用户必须明确确认。固定通常通过应用栏中的一个选项提供。

创建SecondaryTile:

  在使用SecondaryTile之前我们先来了解下它的属性:

  titleId:用于标记辅助磁贴的特定ID

  shortName:显示在辅助磁贴上的信息

  displayName:当用户将鼠标移至辅助磁贴上方时所展示的信息

  arguments:当辅助磁贴被激活时所要传递的信息

  TileOptions:辅助磁贴上内容的展示方式

  logoReference:辅助磁贴上的图标的URI

  wideLogoReference:宽图标的URI

  

  SecondaryTile的构造方法有四种:

  SecondaryTile()

  SecondaryTile(titleId)

  SecondaryTile(titleId, shortName, displayName, arguments, TileOptions, logoReference)

  SecondaryTile(titleId, shortName, displayName, arguments, TileOptions, logoReference, wideLogoReference)

  

  在这里我们使用第三种构造方法去试验它。

  我们现在要做的就是让用户能够将自己喜欢的Dota英雄人物头像固定到开始页面。首先我们将代码页面切换到SplitPage页面,在右侧xaml代码框中将英雄人物头像对应的Image控件命名为“Image_Share”(我们要固定的图片),并在PageResource下添加如下代码:

1 <!--为App添加Appbar-->
2 <Page.BottomAppBar>
3     <AppBar>
4         <StackPanel Orientation="Horizontal">
5             <Button Content="Pin桌面" FontSize="18" Margin="30,0,0,0" Height="70" Width="100" Click="Button_Click_1"/>
7         </StackPanel>
8     </AppBar>
9 </Page.BottomAppBar>

  在后台代码中的Button_Click_1函数中添加如下代码:

 1 private async void Button_Click_1(object sender, RoutedEventArgs e)
 2         {
 3             // 获取当前选择的英雄人物头像的URI
 4             BitmapImage bit = img_Share.Source as BitmapImage;
 5             string uri = bit.UriSource.ToString();
 6
 7             // 标准URI为:"ms-appx:///" + 图片路径,故在第10个字节后插入"//"
 8             uri = uri.Insert(9, "//");
 9
10             //MessageDialog msg = new MessageDialog(uri);
11             //await msg.ShowAsync();
12
13             SecondaryTile secondaryTile = new SecondaryTile("SecondaryTile." + itemTitle.Text,
14                                                             itemTitle.Text,
15                                                             "Dota宝典",
16                                                             "",
17                                                             TileOptions.ShowNameOnLogo,
18                                                             new Uri(uri));
19
20             // 创建SecondaryTile
21             bool pinned = await secondaryTile.RequestCreateForSelectionAsync(new Rect(), Placement.Default);
22         }

  

  按F5尝试运行,在SplitPage页面点击右键调出Appbar,点击Appbar,效果如下:

移除SecondaryTile:

  要删除辅助磁贴只需调用RequestCreateForSelectionAsync(Rect selection, Placement prefferedPlacement)函数即可。

 1 private async void Button_Click_2(object sender, RoutedEventArgs e)
 2         { 3             SecondaryTile secondaryTile = new SecondaryTile("SecondaryTile." + itemTitle.Text); 4
 5             // 删除SecondaryTile
 6             bool pinned = await secondaryTile.RequestCreateForSelectionAsync(new Rect(), Placement.Default);
 7         }

转载于:https://www.cnblogs.com/wulinfeng/archive/2012/09/12/2681578.html

#Win8# Secondary Tile相关推荐

  1. 20、磁贴和磁贴通知(tile)(上)

    win8 中的磁铁操作要比 windows phone 中的复杂一些,不过原理大同小异,都是一些固定内容模型. 参考文档: 磁贴和磁贴通知 : http://msdn.microsoft.com/zh ...

  2. #Win8# 开发你的第一个App《Dota宝典》

    上一篇中我们以"拆分布局应用程序"模板给大家大致介绍了一下Win8 App的开发流程,这一篇我们将尝试修改该模板来创建我们的第一个Win8 App--<Dota宝典>. ...

  3. [转载]实现Application Tile 更新

    作者:马宁 前边介绍Push Notification时,其实已经谈到了Tile Notification.在Windows Phone 7.1中,Smart Tile得到了极大的提高.我们不但可以控 ...

  4. 学习Windows Phone手机开发:Tile的使用

    MSDN帮助:http://msdn.microsoft.com/en-us/library/hh202948(v=VS.92).aspx Tile,英文单词的中文意思是砖瓦.瓦片.瓷片的意思,真佩服 ...

  5. 马宁的Windows Phone 7.1初体验(三)——Tile

    前边介绍Push Notification时,其实已经谈到了Tile Notification.在Windows Phone 7.1中,Smart Tile得到了极大的提高.我们不但可以控制Tile的 ...

  6. 对于之前开发的两个WP应用的产品思考

    已经在Windows Phone Marketplace(不对,现在应该叫Windows Phone Store了)上上传过几个应用了,并且做过两次更新.虽然是初次作为开发者去尝试上线产品,但是得到的 ...

  7. 快速构建Windows 8风格应用32-构建辅助磁贴

    引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕)",大家都知道这种固定到开始屏幕的磁贴叫做辅助磁 ...

  8. [转载]如何发送和接收 Windows Phone 的 Toast 通知

    http://msdn.microsoft.com/zh-cn/library/hh202967(v=vs.92).aspx 2012/2/9 本主题介绍向 Microsoft 推送通知服务发送 to ...

  9. html中英文混排,EndNote中英文混排时et al和等的3种解决方法 | 科研动力

    EndNote对于英文文献的处理很出色,但是对于中文文献的处理就有点别扭,尤其是中英文文献混排时更是不爽.木有关系,EndNote的强大这处之一就是可以驯服和调教.下面介绍3种如何处理中英文混排时et ...

  10. Windows8应用生命周期 Metro Style Apps Lifecycle

    1. Lifecycle Windows8应用的生命周期,与Windows Phone及其他手机平台相比更加简单,Windows8应用只有:未运行.运行.挂起,三个状态.其状态如下图: 当应用切换到后 ...

最新文章

  1. event.keyCode用法及列表
  2. Asp.net团队疯了(同时发布WebMatrix, Razor, MVC3和Orchard)
  3. Cytology: Diagnostic Principles and Clinical Correlates 细胞学: 诊断原则与临床相关性 PDF
  4. csv与json互转_CSV文件转JSON
  5. 进程与线程的超级简单形象解释
  6. 在NetBeans,Eclipse,IntelliJ,OpenShift和Maven上使用WildFly 9
  7. openoffice+linux+jodconverter+乱码,OpenOffice安装和转换乱码解决方案
  8. 看DLI服务4核心如何提升云服务自动化运维
  9. 测试电梯的测试用例_测试开发工作者日记:2020.12.24
  10. Struts与Struts2的区别
  11. Ubuntu操作U盘相关
  12. 剑指offer系列之五十四:按之字形顺序打印二叉树
  13. 10个谷歌浏览器调试技巧
  14. IT十大最尴尬瞬间 盖茨遭遇Win98死机列榜首
  15. 第十一次作业 - Alpha 事后诸葛亮(团队)
  16. ao能连接oracle吗,[转载]使用AO连接ORACLE数据库
  17. PLSQL developer14/PLSQL14如何修改字体和文字大小,如何修改背景颜色?
  18. 部分仿真软件对比介绍
  19. linux修改ip,mac命令和qt中编程修改
  20. 网络精英赛模拟练习(7)

热门文章

  1. js 编写一道程序题输入长和宽之后点击按钮可弹出长方形面积。
  2. 20135234mqy-——信息安全系统设计基础第七周学习总结
  3. 浅谈MySQL索引背后的数据结构及算法【转】
  4. 重装win 修复ubuntu引导
  5. DotNetNuke中的函数式编程手法分析
  6. How to research,22页PPT
  7. 【Pre-Training】关于 Transformer 那些的你不知道的事
  8. 【长文详解】从Transformer到BERT模型
  9. 【基础】CNN是靠什么线索学习到深度信息的?——一个经验性探索
  10. 读《scikiit-learn机器学习》黄永昌第四章