首先,我必须弄清楚我想要完成的是什么,这将是一个我有4个全景图的应用程序,每个全景图的第一页都是不同的。但最后3页是一样的。
有没有可能不在每个全景图中定义这3页?我可以在XAML文件中定义内容并将其加载到全景图中吗?因此,如果我有更改,我不需要在4个不同的页面上进行更改…
我希望你能理解我的问题。
谢谢。
发布于 2012-03-06 22:07:55
可能最简单的方法是将每个相同页面的内容放入UserControls中,并在全景项中引用UserControls。
编辑:示例
现状:
<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中:在Visual Studio中添加一个新的UserControl(从项模板中选择"UserControl“),并添加您当前在PanoraItem中的XAML:
<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>请注意,您可能必须在包含全景图的页面中包含命名空间定义,以便可以找到控件。
发布于 2012-03-06 22:08:29
在.cs中动态添加全景项
https://stackoverflow.com/questions/9585117
复制相似问题