2013-03-06 5 views
1

Я пытаюсь построить metro-приложение, которое должно загрузить файл изображения с другого компьютера в той же домашней группе (все компьютеры используют Windows 8 x64 с рабочей домашней группой). Все найденные мной образцы не используют подпапки или используют filepicker. Поскольку все мои изображения находятся в одной папке, и я знаю их имена, я не хочу использовать filepicker. Я активировал «Библиотека изображений» в appxmanifest, и я могу указать каталоги/компьютеры в домашней группе, но я застрял в открытии файлов или подпапок.использование вложенных папок в homegroup

Вот что я сделал:

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"); 
Смежные вопросы