Я разрабатываю свое первое приложение для Windows Store, используя фреймворк MvvmCross, и у меня проблема с управлением изображениями. В частности, у меня есть следующий простой ViewModel в моем проекте PCL и проект Store с кнопкой, связанной с AddPictureCommand.MvvmCross: NotImplementedException вызывает метод EnsureFolderExists для IMvxFileStore
public class FirstViewModel : MvxViewModel
{
IMvxPictureChooserTask _pictureChooserTask;
IMvxFileStore _fileStore;
public FirstViewModel(IMvxPictureChooserTask pictureChooserTask, IMvxFileStore fileStore)
{
_pictureChooserTask = pictureChooserTask;
_fileStore = fileStore;
}
private byte[] _pictureBytes;
public byte[] PictureBytes
{
get { return _pictureBytes; }
set
{
if (_pictureBytes == value) return;
_pictureBytes = value;
RaisePropertyChanged(() => PictureBytes);
}
}
public ICommand AddPictureCommand
{
get { return new MvxCommand(() =>
{
_pictureChooserTask.ChoosePictureFromLibrary(400, 95, pictureAvailable,() => { });
}); }
}
private void pictureAvailable(Stream stream)
{
MemoryStream memoryStream = new MemoryStream();
stream.CopyTo(memoryStream);
PictureBytes = memoryStream.ToArray();
GenerateImagePath();
}
private string GenerateImagePath()
{
if (PictureBytes == null) return null;
var RandomFileName = "Image" + Guid.NewGuid().ToString("N") + ".jpg";
_fileStore.EnsureFolderExists("Images");
var path = _fileStore.PathCombine("Images", RandomFileName);
_fileStore.WriteFile(path, PictureBytes);
return path;
}
}
Проблема заключается в том, что метод _fileStore.EnsureFolderExists ("Images"); дает мне сообщение NotImplementedException с сообщением: «Необходимость реализовать это - не кажется очевидным из API StorageFolder». Кто-нибудь уже видел это раньше? Спасибо
Спасибо Стюарт. Не могли бы вы объяснить немного больше о третьем пункте (во время настройки ...)? Что мне нужно сделать с измененным классом MvxWindowsStoreBlockingFileStore? – AlexMortola
Обновленный ответ с фрагментом – Stuart