English 中文(简体)
自动复制多个图像并显示瓷砖通知吗?
原标题:Auto Copying multiple images and show tile notifications?
  • 时间:2012-05-22 09:37:58
  •  标签:
  • c#
  • windows-8

This is my code for Windows 8 metro apps, in which I copy 1 image from the local folder to my app storage folder and then it shows a tile notification. Please help me to auto copy all images from Picture Library and then these images shown in tile notifications. i don t know how to access or copy all images from Picture Library... no user interface for copy images.

public sealed partial class BlankPage : Page { string imageRelativePath = String.Empty;

    public BlankPage()
    {
        this.InitializeComponent();
        CopyImages();
    }

    public async void CopyImages()
    {

        FileOpenPicker picker = new Windows.Storage.Pickers.FileOpenPicker();
        picker.ViewMode = PickerViewMode.Thumbnail;
        picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
        picker.FileTypeFilter.Add(".jpg");
        picker.FileTypeFilter.Add(".jpeg");
        picker.FileTypeFilter.Add(".png");
        picker.CommitButtonText = "Copy";
        StorageFile file = await picker.PickSingleFileAsync();
        StorageFile newFile = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync(file.Name);
        await file.CopyAndReplaceAsync(newFile);
        this.imageRelativePath = newFile.Path.Substring(newFile.Path.LastIndexOf("\") + 1);

                IWideTileNotificationContent tileContent = null;
                ITileWideImage wideContent = TileContentFactory.CreateTileWideImage();
                wideContent.RequireSquareContent = false;
                wideContent.Image.Src = "ms-appdata:///local/" + this.imageRelativePath;
                wideContent.Image.Alt = "App data";
                tileContent = wideContent;
                tileContent.RequireSquareContent = false;
                TileUpdateManager.CreateTileUpdaterForApplication().Update(tileContent.CreateNotification());
            }
        }
问题回答

1st 给出图像文件夹的路径, 然后通过 IRead OnlyList 绘制这些图像的列表, 并设置复制图像的循环以结束, 仅在此设置了在 TileUpdateManager 上的计时器, 它将有效 。

在 PicturesLibrary 中罗列文件:

// from my sample app "MetroContractSample" http://metrocontractsample.codeplex.com/documentation
var queryOptions = new QueryOptions(CommonFileQuery.DefaultQuery, new[] { ".jpg", ".png", ".bmp", ".gif", }) { FolderDepth = FolderDepth.Deep, };
StorageFileQueryResult query = KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
var fileInfoFactory = new FileInformationFactory(query, ThumbnailMode.SingleItem);
IReadOnlyList<FileInformation> fileInfoList = await fileInfoFactory.GetFilesAsync();

注意: 您必须声明 PicturesLibrary 在软件包. appxmanifest 中的能力 。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签