惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
M
MIT News - Artificial intelligence
D
Docker
量子位
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
月光博客
月光博客
有赞技术团队
有赞技术团队
J
Java Code Geeks
A
About on SuperTechFans
P
Proofpoint News Feed
Jina AI
Jina AI
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
GbyAI
GbyAI
F
Fortinet All Blogs

博客园 - 十二号的国王

【iOS开发】在ARC项目中使用非ARC文件 实现ZUNE上软件商城的软件星级推荐效果 [Windows Phone 7]如何判断手机是否有网络连接 [Windows Phone 7]开发分享图片的插件(1) [Windows Phone 7]如何导航页面和页面间传值 [Windows Phone 7]UI对屏幕的自适应的处理 [Windwos Phone 7] Accelerometer [Windwos Phone 7] 获取设备相关信息 [Windows Phone 7] 常用资源(转) [Windows Phone 7] Storage XNA:保存数据到文件和从文件读取数据 XNA项目运行错误:No suitable graphics card found. POOM(Pocket Outlook Object Model)开发介绍及应用(转) 剪贴板剪切/复制与粘贴文件+1个待解决的问题 c#枚举-Enum C#读写INI配置文件(转) C#3.0新增特性 - 十二号的国王 - 博客园 关于DBNull vs 快捷键
[Windows Phone 7]开发分享图片的插件(2)
十二号的国王 · 2011-03-03 · via 博客园 - 十二号的国王

在WP7的picture hub中,选中一张图片,查看图片时,点击“…”菜单,点share…时,会出现一个菜单(这个菜单中就是可以对选中的图片进行分享或者处理的应用列表)

下面介绍如何实现这个一键分享功能:

1.创建share picker xml文件

2.获取和处理图片

在你的应用程序中新建一个叫“E0F0E49A-3EB1-4970-B780-45DA41EC7C28.xml”的XML文件

注意:请把文件的 Copy to Output Directory的属性设置成Copy always.

这样你的应用就会出现在share...中了,但是如何处理选中的图片了,实际上,从share...中启动你的应用时,图片会通过导航参数“FileId”传递给你的应用程序.

得到该图片示例如下:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // Get a dictionary of query string keys and values.
    IDictionary<string, string> queryStrings = this.NavigationContext.QueryString;

    // Ensure that there is at least one key in the query string, and check 
    // if the "FileId" key is present.
    if (queryStrings.ContainsKey("FileId"))
    {
        // Retrieve the picture from the local Zune Media database using the FileID
        // passed to the application.
        MediaLibrary library = new MediaLibrary();
        Picture picture = library.GetPictureFromToken(queryStrings["FileId"]);

        // Create a WriteableBitmap object and add it to the Image control Source property.
        BitmapImage bitmap = new BitmapImage();
        bitmap.SetSource(picture.GetImage());
        WriteableBitmap picLibraryImage = new WriteableBitmap(bitmap);
        retrievePic.Source = picLibraryImage;
    }
}