2013-03-06 45 views
1

我正在嘗試構建一個地鐵應用程序,該應用程序應從同一家庭組中的另一臺計算機(所有計算機都使用帶有工作家用組的Windows 8 x64)加載圖像文件。我找到的所有樣本都不使用子文件夾或使用filepicker。 因爲我所有的圖像都在同一個文件夾中,我知道他們的名字,我不想使用filepicker。 我在appxmanifest中激活了「圖片庫」,我可以列出家庭組中的目錄/計算機,但我被困在打開文件或子文件夾中。在家庭組中使用子文件夾

這裏就是我所做的:

var folder = await Windows.Storage.KnownFolders.HomeGroup.GetFolderAsync("homegroupname"); 

foreach (var a in await folder.GetFoldersAsync()) 
{ 
    Debug.WriteLine(a.Name.ToString()); 
} 

這給我的家庭組的計算機列表(如預期)。

這裏就是我試過沒有成功:

folder = await Windows.Storage.KnownFolders.HomeGroup.GetFolderAsync(@"homegroupname\computername"); 
folder = await folder.GetFolderAsync(@"computername"); 

這些嘗試沒有工作,我跑出去的想法。我必須允許文件夾在某個地方嗎?我的方式打開(子)文件夾是正確的嗎?

回答

0

我用以下(幾乎直觀)的方法做到了這一點: 我爲正確類型的文件創建了CommonFileQuery,並選擇了具有擬合名稱的文件。

List<string> fileTypeFilter = new List<string>(); 
fileTypeFilter.Add(".jpg"); 
fileTypeFilter.Add(".png"); 
var queryOptions = new QueryOptions(CommonFileQuery.OrderByDate, fileTypeFilter); 

var query = KnownFolders.HomeGroup.CreateFileQueryWithOptions(queryOptions); 
IReadOnlyList<StorageFile> fileList = await query.GetFilesAsync(); 
StorageFile file = fileList.FirstOrDefault(x => x.Name == "123_123.jpg");