2016-12-28 3 views
1

Ich schreibe eine C# UWP-App, die Bilder aus der Fotobibliothek eines Benutzers anzeigt. Ich würde gerne sehen, wie ich alle Fotos bekommen und jedes in einem GridViewItem und Flipviewitem anzeigen kann.Abrufen einer Liste mit Bildern aus dem lokalen Ordner

private async void Page_Loaded(object sender, RoutedEventArgs e) 
{ 
    var pictureQueryOptions = new QueryOptions(); 
    //Read through all the subfolders. 
    pictureQueryOptions.FolderDepth = FolderDepth.Deep; 
    //Apply the query on the PicturesLibrary 
    var pictureQuery = KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(pictureQueryOptions); 
    // 
    var picturesInformation = new FileInformationFactory(pictureQuery, ThumbnailMode.PicturesView); 
    picturesSource.Source = picturesInformation.GetVirtualizedFilesVector(); 
} 

und

public class ImageConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, string culture) 
    { 
     if (value != null) 
     { 
      var img = (IRandomAccessStream)value; 
      var picture = new BitmapImage(); 
      picture.SetSource(img); 
      return picture; 
     } 
     return DependencyProperty.UnsetValue; 
    }        

    public object ConvertBack(object value, Type targetType, object parameter, string culture) 
    { 
     throw new NotImplementedException(); 
    } 
} 
+1

SO ist kein Code-Schreibdienst. Bitte lesen Sie [fragen] (http://stackoverflow.com/help/asking). –

+0

Ich habe den Code, aber wie binde ich das eigentliche Bild? Ich bekomme das Bild angezeigt, aber es ist nur ein Miniaturbild. Wie kann ich die eigentliche Datei erhalten? –

+1

@TylerS Bitte posten Sie Ihren Code, was haben Sie versucht und was nicht funktioniert – Sxntk

Antwort

0

Die einfachste Lösung für Ihren Code wäre es, die Größe der Thumbnails zu erhöhen (sie 1024px aufstehen kann, so sollte es genug sein, um) diesen Konstruktor:

FileInformationFactory.FileInformationFactory(IStorageQueryResultBase, ThumbnailMode, UInt32, ThumbnailOptions) 

Other than that , können Sie BitmapImage von StorageFile wie folgt setzen: https://social.msdn.microsoft.com/Forums/en-US/bc9aa758-f211-468b-8168-a671b7a0c8b4/uwp-creating-bitmapimage-with-uri-accessing-file-from-same-uri-gives-exception?forum=wpdevelop

+0

Dies scheint zu funktionieren. Das einzige, was nicht korrekt angezeigt wird, sind Hochformatbilder. Vielen Dank! :) –

+1

@TylerS du sagst nicht danke hier, es ist nicht nach den regeln - du solltest upvote und markiere die antwort als richtig. –

0

können Sie user photo Bibliothek von

var myPictures = await Windows.Storage.StorageLibrary.GetLibraryAsync(Windows.Storage.KnownLibraryId.Pictures); 

Schleife durch alle Bilder aus diesem Ordner

Update Package.appxmanifest

erhalten

+0

Ich habe das hinzugefügt, aber wie binde ich die Bilder? Ich habe versucht 'PictureSource.Source = myPictures, aber die App brach –

Verwandte Themen