¿Copiar automáticamente varias imágenes y mostrar notificaciones de mosaicos?
Frecuentes
Visto 403 veces
3
Este es mi código para las aplicaciones metropolitanas de Windows 8, en el que copio 1 imagen de la carpeta local a la carpeta de almacenamiento de mi aplicación y luego muestra una notificación de mosaico. Ayúdenme a copiar automáticamente todas las imágenes de la Biblioteca de imágenes y luego estas imágenes que se muestran en las notificaciones de mosaico. No sé cómo acceder o copiar todas las imágenes de la biblioteca de imágenes... no hay interfaz de usuario para copiar imágenes.
clase parcial sellada pública BlankPage: Página { 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());
}
}
2 Respuestas
2
Primero proporcione la ruta de la carpeta de imágenes y luego haga una lista de estas imágenes a través de IReadOnlyList, y configure el bucle en la copia de imágenes para finalizar, luego simplemente configure el temporizador en TileUpdateManager. y funcionará
contestado el 23 de mayo de 12 a las 07:05
0
para enumerar archivos en 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();
NOTA: debe declarar la Capacidad para PicturesLibrary en Package.appxmanifest.
contestado el 22 de mayo de 12 a las 14:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# windows-8 or haz tu propia pregunta.