Comments 7
Скажу вам больше. Так можно генерить XAML и грузить UserControl прямо из IsolatedStorage
0
Генерировать в рантайме XAML (только если ваше приложение не редактор), по-моему, неверный подход. Правильнее сразу создавать необходимую структуру из экземпляров классов, в таком случае не будет тратиться время на генерацию и парсинг разметки.
Интересно, в какой задаче Вам это понадобилось?
Интересно, в какой задаче Вам это понадобилось?
0
Если речь идет об изображениях-данных (а не о скинах кнопочек и т.д.), то ИМХО удобнее пользоваться бд движком, а не файловой системой. Главное не держать блобы вместе с нормальными данными. Даже SQLite должен с задачей справляться.
Самый большой плюс такого подхода — переносимость на другие платформы.
PS Тут лучше подойдут NoSQL решения, но я пока не знаю простых универсальных библиотек под них для мобильных платформ.
Самый большой плюс такого подхода — переносимость на другие платформы.
PS Тут лучше подойдут NoSQL решения, но я пока не знаю простых универсальных библиотек под них для мобильных платформ.
0
Способ на самом деле интересный, я даже написал компоненту который значительно упрощает использование такого подхода, не стал его публиковать и отказался от его использования из за нескольких ньюансов:
1. Способ не документированный и при очередном обновлении платформы может сломаться.
2. Идентификатор AppId меняется после публикации и соответственно что бы этот способ нормально работал надо как минимум парсить манифест.
По поводу способа №1 способ рабочий но лучше все таки избегать использования конверторов. Это сильно бьет по производительности, тем более если работаете с картами. Лучше или из кода привязывать картинку или же можно привязываться к полю типа BitmapImage без конвертора.
По поводу того что первый способ у вас не сработал:
А разве вы не освобождаете ресурсы в методе до того как вернуть ссылку на поток?
private Stream LoadFile(string file)
{
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
return isoStore.OpenFile(file, FileMode.Open, FileAccess.Read);
}
}
1. Способ не документированный и при очередном обновлении платформы может сломаться.
2. Идентификатор AppId меняется после публикации и соответственно что бы этот способ нормально работал надо как минимум парсить манифест.
По поводу способа №1 способ рабочий но лучше все таки избегать использования конверторов. Это сильно бьет по производительности, тем более если работаете с картами. Лучше или из кода привязывать картинку или же можно привязываться к полю типа BitmapImage без конвертора.
По поводу того что первый способ у вас не сработал:
А разве вы не освобождаете ресурсы в методе до того как вернуть ссылку на поток?
private Stream LoadFile(string file)
{
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
return isoStore.OpenFile(file, FileMode.Open, FileAccess.Read);
}
}
0
Sign up to leave a comment.
Доступ к картинкам в изолированном хранилище