【问题标题】:use subfolders in homegroup使用家庭组中的子文件夹
【发布时间】:2013-03-06 10:36:16
【问题描述】:

我正在尝试构建一个 Metro 应用程序,该应用程序应从同一家庭组中的另一台计算机加载图像文件(所有计算机都使用 Windows 8 x64 和工作家庭组)。我发现的所有示例都不使用子文件夹或使用文件选择器。 由于我所有的图像都在同一个文件夹中,并且我知道它们的名称,所以我不想使用文件选择器。 我在 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");

这些尝试没有奏效,我的想法也用完了。我必须在某处允许该文件夹吗?我打开(子)文件夹的方式是否正确?

【问题讨论】:

    标签: c# .net asynchronous windows-8 microsoft-metro


    【解决方案1】:

    我使用以下(几乎是直观的)方法做到了: 我为正确类型的文件创建了一个 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");
    

    【讨论】:

      猜你喜欢
      • 2016-07-13
      • 2012-01-26
      • 1970-01-01
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多