Этот вопрос уже задавался, но не получил ответа, тогда как важно понять, как работает API хранилища в UWP.
WinRT StorageFile DisplayName странное поведение
Я сохраняю файлы в разных форматах (gif и json), поэтому мне нужно отслеживать общий получатель StorageFile.DisplayName
, но поведение этого свойства неясно, потому что иногда FileType
(.gif или .json)) включен в DisplayNme, а иногда - нет.
Причина такого поведения является целью этого вопроса, и, возможно, я ищу четкий ответ о том, как получить полный контроль над DisplayName
где мне нужно держать FileType
вне первого, не прибегая к манипуляции со строками.
Единственный прогресс, который я сделал, - это возможность воспроизвести эту «ошибку»;действительно, кажется, что FileType
всегда включается, когда созданный файл находится в LocalSettings AppData, и не включается, если, например, файл хранится в PictureLibrary
.Мой код является тривиальным, он использует
var fileName = "Test.gif";
var settingsFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("SettingsFolder", folderCreationCollisionOption);
var file = await settingsFolder.CreateFileAsync(fileName, fileCreationCollisionOption);
или
var fileName = "Test.gif";
var settingsFolder = await KnownFolders.PicturesLibrary.CreateFolderAsync("SettingsFolder", folderCreationCollisionOption);
var file = await settingsFolder.CreateFileAsync(fileName, fileCreationCollisionOption);
Первый возвращается для file.DisplayName "Test.gif", а второй "Test" по желанию.Однако мне нужно работать в AppData.