Вопросы об источнике кадров WPF - PullRequest
9 голосов
/ 01 апреля 2010

Я создал приложение WPF с рамкой внутри. Я могу прикрепить некоторые другие страницы к этому фрейму, как

frame1.Source = new Uri ("Page1.xaml", UriKind.RelativeOrAbsolute);

Вопрос после загрузки этой страницы (Page1.xaml) a Загрузить другую страницу в том же фрейме (Page2.xaml) Page1.xaml удаляется автоматически или все еще работает в фоновом режиме? Я не смог найти метод удаления для исходной страницы фрейма. Может кто-нибудь объяснить это, пожалуйста.

1 Ответ

13 голосов
/ 01 апреля 2010

Frame предназначен для обеспечения возможности навигации по контенту; предпочтительный способ упаковки контента для навигации - Page, как вы делаете. В частности, кадр можно перемещать с помощью методов Navigate, и будет поддерживать время существования истории навигации , где ключевым словом здесь является "history".

В истории навигации фрейм не будет поддерживать экземпляр каждой страницы , чтобы избежать чрезмерного потребления памяти. Следовательно, состояние не запоминается при использовании элементов управления «Навигация», и каждый раз при переходе на страницу создается новый экземпляр.

Другими словами, когда вы перемещаетесь от страницы во фрейме, объект удаляется.

MSDN хорошо знаком с использованием фреймов .

...