Вероятно, самый простой способ - поместить содержимое каждой идентичной страницы в пользовательские элементы управления и ссылаться на пользовательские элементы управления в элементах панорамы.
РЕДАКТИРОВАТЬ: Пример
Текущая ситуация:
<controls:Panorama Title="my application">
<controls:PanoramaItem Header="first item">
<!-- Your Panorama Item Content -->
</controls:PanoramaItem>
<controls:PanoramaItem Header="second item">
<!-- Item Content To Be Moved -->
<TextBlock Text="ToBeMovedToUserControl"/>
</controls:PanoramaItem>
</controls:Panorama>
Теперь поместите содержимое повторяющихся элементов панорамы в UserControl:
Добавьте новый UserControl в Visual Studio (выберите «UserControl» в шаблонах элементов) и
добавьте XAML, который у вас есть в PanoraItem:
<UserControl x:Class="PanoramaApp1.WindowsPhoneControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="480" d:DesignWidth="480">
<Grid x:Name="LayoutRoot">
<TextBlock Text="ToBeMovedToUserControl"/>
</Grid>
</UserControl>
и измените XAML панорамы на:
<controls:Panorama Title="my application">
<controls:PanoramaItem Header="first item">
<!-- Your Panorama Item Content -->
</controls:PanoramaItem>
<controls:PanoramaItem Header="second item">
<!-- Item Content To Be Moved -->
<WindowsPhoneControl1/>
</controls:PanoramaItem>
</controls:Panorama>
Обратите внимание, что вам может потребоваться ввести определение пространства имен на странице, содержащей панораму, чтобы можно было найти элемент управления.