Ваш вопрос кажется действительно запутанным.
следует ли заменить фрейм на ContentControl?
Это может означать, что у вас нет веских причин дляВо-первых, установите рамку, и вы не используете навигационную структуру.В этом случае, безусловно, вы должны заменить Frame
чем-то другим.
Если вы можете заменить рамку чем-то другим, вам не нужно, чтобы ваша «Страница» была типа Page
, это можета также UserControl
.
Все это может привести к простому Xaml: -
<Border x:Name="content" />
и кс: -
UserControl p = ...;
content.Child = p;
Редактировать :
Вам необходимо сохранить фрейм, поэтому вы не можете заменить его ContentControl.
Вы можете просто присвоить свой Page
непосредственно Frame
Content
собственность.Однако я не уверен, что произойдет, если вы затем нажмите кнопку назад.Я подозреваю, что он перейдет на страницу, предшествующую странице, которую вы заменили.
Еще один вариант - для нас статический сервис, который помещает свойства вашей страницы в стек, и вы можете вытащить их из этого стека, когдаинициализируется.Это позволит вам перемещаться с помощью Uri на вашу страницу.