如何使用存储在PicturesLibrary中的图像为GridApp模板创建SampleDataSource?

时间:2013-04-18 04:31:37

标签: c# windows-8

我正在尝试为GridApp创建DataSource。我使用GetFilesAsync()从PicturesLibrary获取图像。我修改了SampleDataSource.cs:在数据结构中我使用StorageFile imagePath而不是string imagePath。当然,我编写了一个代码,使用IRandomAccessStream从StorageFile创建BitmapImage,而不是从Uri创建BitmapImage。

所以这段代码可以编译但不起作用。这里的原因是: 异步方法GetFilesAsync()不阻塞主线程。 GroupedItemsPage.xaml.cs在GetFilesAsync()提供必要信息之前询问SampleDataSource。这会导致异常TypeInitializationException。

显而易见的解决方案是使用GetFilesAsync()的同步模拟。但是有一些新问题:

  1. 似乎无法同步从KnownFolders.PicturesLibrary获取文件。
  2. 这是个坏主意,因为如果我有大量的图片,那么生成GroupedItemsPage会导致严重冻结。
  3. 那么,我该如何解决这个问题呢?我只问解决方案的概念。我应该如何组织我的应用程序的架构?

0 个答案:

没有答案
相关问题