我正在尝试为GridApp创建DataSource。我使用GetFilesAsync()从PicturesLibrary获取图像。我修改了SampleDataSource.cs:在数据结构中我使用StorageFile imagePath而不是string imagePath。当然,我编写了一个代码,使用IRandomAccessStream从StorageFile创建BitmapImage,而不是从Uri创建BitmapImage。
所以这段代码可以编译但不起作用。这里的原因是: 异步方法GetFilesAsync()不阻塞主线程。 GroupedItemsPage.xaml.cs在GetFilesAsync()提供必要信息之前询问SampleDataSource。这会导致异常TypeInitializationException。
显而易见的解决方案是使用GetFilesAsync()的同步模拟。但是有一些新问题:
那么,我该如何解决这个问题呢?我只问解决方案的概念。我应该如何组织我的应用程序的架构?