我有一个xaml页面,我想出于各种原因托管另一个xaml页面。我试图使用Frame控件,但最后我发出警告告诉我默认构造函数必须是公共的......
<controls:PivotItem Header="page1">
<Controls:Frame Source="MyPage.xaml"/>
</controls:PivotItem>
好吧,那不行;现在我如何在WP7应用程序中的另一个页面中嵌入一个页面?
答案 0 :(得分:1)
这是带有数据透视表的XAML页面的典型布局 -
<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