2016-09-28 1 views
5

Ich portiere mein Spiel auf UWP über den gesamten Desktop .net und eine Sache, die ich herausfinden muss, ist, wie man Texturen, Shader usw. in die UWP-Version des Spiels lädt.Wie kann ich nach Dateiänderungen in einem UWP-Projekt suchen?

In der Desktop-Version verwende ich einen FileSystemWatcher, aber FileSystemWatcher existiert nicht in UWP, auch auf Verzeichnissen, die ich volle Kontrolle habe.

Gibt es ein Äquivalent für UWP?

Was ist der beste Weg, dies mit der begrenzten Anzahl von APIs in UWP zu implementieren?

Antwort

8

Gibt es ein Äquivalent für UWP?

Sie können die ContentChanged event für die abgefragten Speicherdateien abonnieren.

Zum Beispiel:

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: 
} 

Diese sucht und gibt alle .txt und .png Dateien in lokalen Ordner der App, wenn die Dateien in der Abfrage hinzugefügt, gelöscht aus oder verändert, wird diese Veranstaltung gefeuert.

Verwandte Themen