Pull to refresh

Comments 7

Скажу вам больше. Так можно генерить XAML и грузить UserControl прямо из IsolatedStorage
Генерировать в рантайме XAML (только если ваше приложение не редактор), по-моему, неверный подход. Правильнее сразу создавать необходимую структуру из экземпляров классов, в таком случае не будет тратиться время на генерацию и парсинг разметки.
Интересно, в какой задаче Вам это понадобилось?
Менять дизайн после выхода в маркет :)
Один раз сгенерить XAML, динамически. И грузить его. UserControl грузит свой замл и парсит его нативным методом, что явно быстрее. Вот polhovskiy предположил ниже
Если речь идет об изображениях-данных (а не о скинах кнопочек и т.д.), то ИМХО удобнее пользоваться бд движком, а не файловой системой. Главное не держать блобы вместе с нормальными данными. Даже SQLite должен с задачей справляться.
Самый большой плюс такого подхода — переносимость на другие платформы.

PS Тут лучше подойдут NoSQL решения, но я пока не знаю простых универсальных библиотек под них для мобильных платформ.
Способ на самом деле интересный, я даже написал компоненту который значительно упрощает использование такого подхода, не стал его публиковать и отказался от его использования из за нескольких ньюансов:

1. Способ не документированный и при очередном обновлении платформы может сломаться.
2. Идентификатор AppId меняется после публикации и соответственно что бы этот способ нормально работал надо как минимум парсить манифест.

По поводу способа №1 способ рабочий но лучше все таки избегать использования конверторов. Это сильно бьет по производительности, тем более если работаете с картами. Лучше или из кода привязывать картинку или же можно привязываться к полю типа BitmapImage без конвертора.

По поводу того что первый способ у вас не сработал:
А разве вы не освобождаете ресурсы в методе до того как вернуть ссылку на поток?

private Stream LoadFile(string file)
{
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
return isoStore.OpenFile(file, FileMode.Open, FileAccess.Read);
}
}

Sign up to leave a comment.

Articles