WP7技巧 扩展【共享...】按钮
在WP的图片库里面选择一张图片会有【共享...】的按钮可以通过彩信、邮件等发送,也可以自定义共享到自己的APP中,如新浪微博就是很好的例子,如何添加自定义共享呢?
需要3个步骤
1 在程序配置里面声明【共享...】扩展
2 在MainPage获取的OnNavigatedTo事件中取得图片信息
3 通过Xna里面提供的MediaLibrary来取得媒体库的图片流
声明以下内容参考了
http://msdn.microsoft.com/zh-cn/library/ff967563(v=vs.92).aspx
声明共享选取器扩展
打开 WMAppManifest.xml文件 在Tokens元素后面添加
<Extensions> <Extension ExtensionName="Photos_Extra_Share" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" /> </Extensions>
MSDN上没有详细说明,但是每个属性好像都是固定值,包括 ConsumerID都不用修改
获取图片信息
首先调整界面,修改MainPage的ContentPanel添加Image名为retrievePic用于呈现图片
<!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <Image Height="350" HorizontalAlignment="Left" Margin="15,15,0,0" Name="retrievePic" Stretch="Fill" VerticalAlignment="Top" Width="450" /> </Grid>
添加对Microsoft.Xna.Framework的引用,主要是为了使用MediaLibrary
在 MainPage.xaml.cs 重写OnNavigatedTo事件
protected override void OnNavigatedTo(NavigationEventArgs e) { //获取传入的QueryString IDictionary<string, string> queryStrings = this.NavigationContext.QueryString; //检查是否有FileId //FileId包含了获取图片的Token字符串 if (queryStrings.ContainsKey("FileId")) { //通过MediaLibrary获取图片Picture MediaLibrary library = new MediaLibrary(); Picture picture = library.GetPictureFromToken(queryStrings["FileId"]); //将图片设置到retrievePic呈现 BitmapImage bitmap = new BitmapImage(); bitmap.CreateOptions = BitmapCreateOptions.None; bitmap.SetSource(picture.GetImage()); WriteableBitmap picLibraryImage = new WriteableBitmap(bitmap); retrievePic.Source = picLibraryImage; } }
因为模拟器没有图片库,只能在真机上测试了。
附上代码:
http://files.cnblogs.com/kiminozo/ShareExtendDemo.rar
转载于:https://www.cnblogs.com/kiminozo/archive/2012/04/06/2434743.html
WP7技巧 扩展【共享...】按钮相关推荐
- Jenkins 流水线 获取git 分支列表_Jenkins扩展共享库进阶
读完需 16 分钟 速读需 7 分钟 前言 前面我们介绍了Jenkins多分支流水线.Jenkins流水线即代码之扩展共享库,其实都是"流水线即代码"的体现.我们将Jenkinsf ...
- 虚拟机共享目录添加按钮灰色_共享按钮将成为PS4最重要的遗产
虚拟机共享目录添加按钮灰色 I can't say I would have stuck with Ghost of Tsushima - a game I ended up liking a lot ...
- Windows 扩展 C 盘扩展卷按钮显示灰色怎么办
压缩 C 盘 先压缩 C 盘,输入一个很小的空间量,比如 8,然后点击压缩按钮 会看到在 C 盘旁边生成一个未分配的盘 此时再右键 C 盘,看到扩展卷按钮可点击 扩展 C 盘 选择磁盘,把未分配的盘放 ...
- 扩展CKEditor按钮
最近忙于开发工作流,想起之前开发的OA ,缺少一个重要的功能:表单设计器.因为我们的OA是基于Sharepoint开发的,如果没有表单设计器,定义一个列表的界面需要开发一个feature,或则需要VS ...
- 【Android 屏幕扩展/共享】5分钟搞定—电脑 与 手机共享屏幕
回去看看老家是不是还有旧平板电脑,可以跨设备,共享屏幕哦 一些远程控制软件,诸如:TeamViewer.AnyDesk等. 但是这次我要介绍的是 一款远程显示软件,甚至可以理解成一款简易的KVM系统. ...
- 小技巧---扩展屏幕or投影屏幕,如何控制屏幕位于左边还是右边?
1控制面板_选择"外观和个性化" 2选择'连接到外部设备'or"连接到投影仪" 3_拖拽交换位置即可_1是自己的主屏幕 5 6 7
- UAP扩展开发 - 新增按钮
UAP新增按钮的实现 一.扩展说明 1.按钮扩展的实现有两种方法 - 按钮继承:NCAction,MenuAction - 拦截器实现:ActionInterceptor 此处是通过按钮继承实现的 2 ...
- 抓娃娃机按钮按几下_夹娃娃的技巧攻略 抓娃娃的容易中的招数
抓娃娃机的技巧其实很简单,你相信吗?其实你最爱玩的抓娃娃机其实是有技巧可循的,到底怎样才能顺利抓取呢?玩电直播小编就找来抓娃娃机的技巧.仅供参考,这事还要看RP! 娃娃机的夹子一般都是3根组成.抓娃娃 ...
- Windows Shell编程-第十六章.命名空间扩展
第十六章 命名空间扩展 探测器使用层次结构表述形成系统的许多对象--文件,文件夹,打印机,网络对象等等.这些对象组合定义了一个命名空间,这是一个封闭的符号或名字集合,其中任何给定的符号或名字都能成功地 ...
最新文章
- div块内的CSS中心文本(水平和垂直)
- vertrigoserv mysql 密码_VertrigoServ
- Dart.Powerweb.livecontrols应用
- nginx 正则 结尾 配置_nginx location 配置阐述优先级别使用说明-不当可能存在安全隐患...
- loadrunner参数化excel数据
- Codeforces Round #614 (Div. 2) D. Aroma‘s Search 暴力 + 思维
- java实现人脸识别源码【含测试效果图】——ServiceImpl层(UserServiceImpl)
- Java加密与解密的艺术~AES-GCM-NoPadding实现
- python数据科学实践 常象宇_Python数据科学实践
- mysql in过大_项目中常用的 19 条 MySQL 优化
- 什么是CIF?什么是4CIF?什么是QCIF?什么是D1?
- 5GC 会话建立流程
- WiFi模块种类二:单WiFi功能双频WiFi模块
- Linux安装R相关包出现icudt error
- 通信基础篇小项目-----简单网络画板的的实现
- java ee web pdf_Java EE Web高级开发案例 PDF扫描版[69MB]
- MySQL数据库学习笔记(一)—— 基础概念
- 232:vue+openlayers选择左右两部分的地图,不重复,横向卷帘
- 计算机内用户文件夹中的文件,在位于计算机上所有用户的AppData文件夹中的文件中修改一行...
- css3实现一个闪电效果
热门文章
- LeetCode 2037. 使每位学生都有座位的最少移动次数
- 天池 在线编程 区间合并(字符串)
- LeetCode 1490. 克隆 N 叉树(DFS/BFS)
- LeetCode 1496. 判断路径是否相交(set)
- 程序员面试金典 - 面试题 17.26. 稀疏相似度(哈希map)
- 程序员面试金典 - 面试题 05.06. 整数转换(位运算)
- LeetCode 76. 最小覆盖子串(滑动窗口)
- 链接聚合是将一组物理接口_500字描述华为VLAN聚合工作原理 你看懂了吗?
- cpu使用率_漫话性能:CPU使用率
- Log4j框架配置文件