c# - 如何查看 UWP 项目中的文件更改?

标签 c# windows xna uwp monogame

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

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

是否有 UWP 的等效项?

在 UWP 中使用有限的 API 集实现这一点的最佳方法是什么?

最佳答案

Is there an equivalent for 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 文件,如果查询中的文件被添加、删除或修改,则会触发此事件。

关于c# - 如何查看 UWP 项目中的文件更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39737147/

相关文章:

c# - (C#) 枚举不会返回 int

c# - SQL Server 中多态树的数据模式和查询

c# - 如何防止某些功能出现 "consider applying 'await'operator..."警告?

c++ - PHP7 - 从源 x86/x64 Windows 编译

ruby - Ansicon 不适用于 Windows 8

c# - 为什么XNA Write/ReadObject <Model>()不保留顶点/索引缓冲区数据?

c# - WPF MVVM 绑定(bind)相关源

windows - Powershell脚本独立运行,但作为可执行文件运行时出现“方法调用失败”错误

c# - 在 XNA 和 C# 中使用摩擦

c++ - Xbox 360 上的 OpenSteer?