2016-03-08 2 views
2

Есть ли возможность сохранить содержимое страницы после ее навигации. Например, у меня есть окно с рамкой и несколько кнопок, и каждая кнопка перемещается по какой-то странице.Перемещение между страницами в WPF

frame.Navigate(new Page1()); //every button for different page 

Теперь на одной странице, например, есть текстовый блок и кнопка. Если щелчок по тексту кнопки текстового блока изменится. Когда я перейду на другую страницу и вернусь на эту страницу, текст-текст не будет сохранен, он вернется к значению по умолчанию? Как его сохранить?

Я знаю, что в сор 8.1 вы можете сделать это с этой строки кода в конструкторе:

this.NavigationCacheMode = NavigationCacheMode.Required; 

, но я не могу найти, как в то же самое в WPF.

ответ

1

Идея этого очень проста. Данные не сохраняются на странице, так как при переходе на страницу создается новый экземпляр страницы.

Вы можете сделать это, сохранив статический экземпляр . т.е. страница создается только при первом запуске приложения. При следующем загрузке страницы состояние будет сохранено.

0

Вы можете использовать перегруженную версию Frame.Navigate():

public bool Navigate(
    object content, 
    object extraData 
) 

В extraData, вы можете передать из параметров на страницу, которую вы хотите, чтобы перейти к, как правило строки. И информация, которую вы размещаете в этой строке, может использоваться загруженной страницей для инициализации желаемых данных.

0

Вы можете использовать свойство KeepAlive = true; внутри каждой страницы, которую вы хотите использовать в стеке.

Смежные вопросы