Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / wpf динамическая загрузка xaml / 5 сообщений из 5, страница 1 из 1
23.06.2009, 12:37
    #36055431
LxTLT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf динамическая загрузка xaml
Добрый день.
Во фрейм можно загружать страницы (Page). Если делать это динамически
Код: plaintext
frame1.Navigate(XamlReader.Parse("test.xaml"));
обычный механизм сохранения страницы работать не будет. То есть независимо от значения свойства KeepAlive, Page будет оставаться в памяти, когда будет осуществлен переход на другую страницу. Поскольку работа моей программы сопровождается многочисленными переходами по разным страницам, в памяти накапливается громадные объемы хлама. Коллектор не собирает этого добра. Подскажите пожалуйста, как можно решить подобную проблему. Порылся в поисковиках и форумах, решения не обнаружил.
...
Рейтинг: 0 / 0
23.06.2009, 12:39
    #36055433
Dash Rendar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf динамическая загрузка xaml
LxTLT,

а вам обязательно надо именно динамически подгружать большие объемы страниц?
...
Рейтинг: 0 / 0
23.06.2009, 15:37
    #36055873
LxTLT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf динамическая загрузка xaml
Dash RendarLxTLT,

а вам обязательно надо именно динамически подгружать большие объемы страниц?

да обязательно, поскольку в тексте хамл-файла производятся замены перед его загрузкой...
Сейчас сделал с предварительным сохранением во временную папку на диск, но это снижает быстродействие к сожалению, все еще другие варианты...
...
Рейтинг: 0 / 0
23.06.2009, 16:07
    #36055941
qu-qu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf динамическая загрузка xaml
LxTLT,

Как говорится: "вам шашечки или ехать?" (с).
Так уж важно ли сохранить навигацию по загружаемым страницам Page именно через Frame?
Если реализовать навигацию самостоятельно, то можно ограничиться динамической подгрузкой UserControl-ов (UIElement), которые можно добавлять/убивать в визуальном дереве любого контейнера "на лету"...
http://msdn.microsoft.com/ru-ru/magazine/2009.01.cuttingedge.aspx
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
void OnDownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    // Parse XAML to a UI element 
    string xaml = e.Result;
    UIElement dom = XamlReader.Load(xaml) as UIElement;

    // Append to the DOM
    Placeholder.Children.Clear();
    Placeholder.Children.Add(dom);
}
...
...
Рейтинг: 0 / 0
23.06.2009, 16:18
    #36055962
LxTLT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf динамическая загрузка xaml
qu-qu,

сохранять навигацию вообще нет необходимости, возвращаться никогда не придется. Загружать необходимо всю страницу, а не отдельный элемент. Там могут быть контролы из других сборок в том числе.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / wpf динамическая загрузка xaml / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]