如何在UWP项目中查看文件更改?

时间:2016-09-28 02:36:55

标签: c# windows xna uwp monogame

我将游戏从完整的桌面.net移植到UWP,我需要解决的一件事是如何将纹理,着色器等加载到游戏的UWP版本中。

在桌面版本中,我使用FileSystemWatcher来执行此操作,但在UWP中不存在FileSystemWatcher,即使在我完全控制的目录中也是如此。

是否有UWP的等价物?

使用UWP中有限的一组API实现此目的的最佳方法是什么?

1 个答案:

答案 0 :(得分:8)

  

是否有UWP的等价物?

您可以为查询的存储文件订阅ContentChanged event

例如:

List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".txt");
fileTypeFilter.Add(".png");
var options = new Windows.Storage.Search.QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByName, fileTypeFilter);
var query = ApplicationData.Current.LocalFolder.CreateFileQueryWithOptions(options);
//subscribe on query's ContentsChanged event
query.ContentsChanged += Query_ContentsChanged;
var files = await query.GetFilesAsync();

private void Query_ContentsChanged(Windows.Storage.Search.IStorageQueryResultBase sender, object args)
{
    //TODO:
}

这将搜索并返回应用程序本地文件夹中的所有.txt和.png文件,如果查询中的文件被添加,删除或修改,则此事件将被触发。