WP7 Frame встроен в страницу, ссылающуюся на другую страницу - PullRequest
0 голосов
/ 21 октября 2010

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

<controls:PivotItem Header="page1">
    <Controls:Frame Source="MyPage.xaml"/>
</controls:PivotItem>

Хорошо, это не работает; Теперь, как именно я могу вставить страницу внутри другой страницы в приложении WP7?

1 Ответ

1 голос
/ 21 октября 2010

Это типичный макет страницы XAML с Pivot -

<controls:Pivot x:Name="mainPivot" Title="Home">
    <controls:Pivot.Items>
        <controls:PivotItem Header="Page 1" x:Name="Page1">
            <controls:PivotItem.Content>
                <views:Page1View />
            </controls:PivotItem.Content>
        </controls:PivotItem>
        <controls:PivotItem Header="Page 2" x:Name="page2">
            <controls:PivotItem.Content>
                <views:Page2View />
            </controls:PivotItem.Content>
        </controls:PivotItem>
        <controls:PivotItem Header="Page 3" x:Name="Page3">
            <controls:PivotItem.Content>
                <views:Page3View />
            </controls:PivotItem.Content>
        </controls:PivotItem>
    </controls:Pivot.Items>
</controls:Pivot>

Пространство имен views объявлено в XAML как -

xmlns:views="clr-namespace:MyApp.Views" 

Каждое представление будет в своих отдельных файлах XAML, например (Page1View.xaml) выглядит так -

<UserControl 
    x:Class="MyApps.Views.Page1View"
    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"
    d:DesignHeight="600" 
    d:DesignWidth="480">

    <Grid x:Name="LayoutRoot">
       <!-- Add your content here -->
    </Grid>
</UserControl>

Надеюсь, это поможет, indyfromoz

...