2012-04-19 9 views
1

これは、ローカルフォルダから1つの画像を自分のアプリストレージフォルダにコピーした後、タイル通知を表示するコードです。すべての画像をコピーしてから、これらの画像をタイル通知で表示するのを手伝ってください。複数の画像をコピーしてタイル通知を表示しますか?

namespace Tiles 
{ 
    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()); 
       } 
      } 
     } 

答えて

0

代わりにあなたが.PickMultipleFileAsync()を呼び出す必要があり.PickSingleFileAsync()を呼び出します。返されるすべてのファイル名を取得する方法の例については、PickMultipleFileAsync Docsを参照してください。あなたは今、そのコピーのファイルを持っているし、タイルを作成

あなたのコードは、私はこれをテストしていない.PickMultipleFileAsync()

によって返されたすべてのファイルを経由するループで囲むべきであるが、それはなっているはずですこのような小さな:

FilePickerSelectedFilesArray files = await picker.PickMultipleFileAsync(); 
for (var i = 0; i < files.size; i++) 
{ 
    StorageFile newFile = await 
      Windows.Storage.ApplicationData.Current.LocalFolder 
      .CreateFileAsync(files[1].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()); 
} 
関連する問題