在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技巧 扩展【共享...】按钮相关推荐

  1. Jenkins 流水线 获取git 分支列表_Jenkins扩展共享库进阶

    读完需 16 分钟 速读需 7 分钟 前言 前面我们介绍了Jenkins多分支流水线.Jenkins流水线即代码之扩展共享库,其实都是"流水线即代码"的体现.我们将Jenkinsf ...

  2. 虚拟机共享目录添加按钮灰色_共享按钮将成为PS4最重要的遗产

    虚拟机共享目录添加按钮灰色 I can't say I would have stuck with Ghost of Tsushima - a game I ended up liking a lot ...

  3. Windows 扩展 C 盘扩展卷按钮显示灰色怎么办

    压缩 C 盘 先压缩 C 盘,输入一个很小的空间量,比如 8,然后点击压缩按钮 会看到在 C 盘旁边生成一个未分配的盘 此时再右键 C 盘,看到扩展卷按钮可点击 扩展 C 盘 选择磁盘,把未分配的盘放 ...

  4. 扩展CKEditor按钮

    最近忙于开发工作流,想起之前开发的OA ,缺少一个重要的功能:表单设计器.因为我们的OA是基于Sharepoint开发的,如果没有表单设计器,定义一个列表的界面需要开发一个feature,或则需要VS ...

  5. 【Android 屏幕扩展/共享】5分钟搞定—电脑 与 手机共享屏幕

    回去看看老家是不是还有旧平板电脑,可以跨设备,共享屏幕哦 一些远程控制软件,诸如:TeamViewer.AnyDesk等. 但是这次我要介绍的是 一款远程显示软件,甚至可以理解成一款简易的KVM系统. ...

  6. 小技巧---扩展屏幕or投影屏幕,如何控制屏幕位于左边还是右边?

    1控制面板_选择"外观和个性化" 2选择'连接到外部设备'or"连接到投影仪" 3_拖拽交换位置即可_1是自己的主屏幕 5 6 7

  7. UAP扩展开发 - 新增按钮

    UAP新增按钮的实现 一.扩展说明 1.按钮扩展的实现有两种方法 - 按钮继承:NCAction,MenuAction - 拦截器实现:ActionInterceptor 此处是通过按钮继承实现的 2 ...

  8. 抓娃娃机按钮按几下_夹娃娃的技巧攻略 抓娃娃的容易中的招数

    抓娃娃机的技巧其实很简单,你相信吗?其实你最爱玩的抓娃娃机其实是有技巧可循的,到底怎样才能顺利抓取呢?玩电直播小编就找来抓娃娃机的技巧.仅供参考,这事还要看RP! 娃娃机的夹子一般都是3根组成.抓娃娃 ...

  9. Windows Shell编程-第十六章.命名空间扩展

    第十六章 命名空间扩展 探测器使用层次结构表述形成系统的许多对象--文件,文件夹,打印机,网络对象等等.这些对象组合定义了一个命名空间,这是一个封闭的符号或名字集合,其中任何给定的符号或名字都能成功地 ...

最新文章

  1. div块内的CSS中心文本(水平和垂直)
  2. vertrigoserv mysql 密码_VertrigoServ
  3. Dart.Powerweb.livecontrols应用
  4. nginx 正则 结尾 配置_nginx location 配置阐述优先级别使用说明-不当可能存在安全隐患...
  5. loadrunner参数化excel数据
  6. Codeforces Round #614 (Div. 2) D. Aroma‘s Search 暴力 + 思维
  7. java实现人脸识别源码【含测试效果图】——ServiceImpl层(UserServiceImpl)
  8. Java加密与解密的艺术~AES-GCM-NoPadding实现
  9. python数据科学实践 常象宇_Python数据科学实践
  10. mysql in过大_项目中常用的 19 条 MySQL 优化
  11. 什么是CIF?什么是4CIF?什么是QCIF?什么是D1?
  12. 5GC 会话建立流程
  13. WiFi模块种类二:单WiFi功能双频WiFi模块
  14. Linux安装R相关包出现icudt error
  15. 通信基础篇小项目-----简单网络画板的的实现
  16. java ee web pdf_Java EE Web高级开发案例 PDF扫描版[69MB]
  17. MySQL数据库学习笔记(一)—— 基础概念
  18. 232:vue+openlayers选择左右两部分的地图,不重复,横向卷帘
  19. 计算机内用户文件夹中的文件,在位于计算机上所有用户的AppData文件夹中的文件中修改一行...
  20. css3实现一个闪电效果

热门文章

  1. LeetCode 2037. 使每位学生都有座位的最少移动次数
  2. 天池 在线编程 区间合并(字符串)
  3. LeetCode 1490. 克隆 N 叉树(DFS/BFS)
  4. LeetCode 1496. 判断路径是否相交(set)
  5. 程序员面试金典 - 面试题 17.26. 稀疏相似度(哈希map)
  6. 程序员面试金典 - 面试题 05.06. 整数转换(位运算)
  7. LeetCode 76. 最小覆盖子串(滑动窗口)
  8. 链接聚合是将一组物理接口_500字描述华为VLAN聚合工作原理 你看懂了吗?
  9. cpu使用率_漫话性能:CPU使用率
  10. Log4j框架配置文件