我想我可能在措辞方面遇到了问题(对于silverlight及其控件不熟悉),但总体目标和问题是:
我用“MainPage.xaml”创建了一个silverlight应用程序。在页面内是一个网格,它有两个基本控件:导航:框架[我们可以像微软在他们的演示中一样调用这个ContentFrame]和我创建的另一个控件,包括页面顶部的横幅和简单的导航[用于这个解决方案可以称之为BannerControl]
BannerControl在该点内有链接(或应该指向)项目中的各个页面。他们点击横幅中的链接,然后MainPage应该填充ContentFrame(或者我希望如此)。情况似乎并非如此。
我的第一个想法是控件如何关联,BannerControl是一个孩子,而不是看到NavigationFrame。也许这是我对这一切应该如何工作的无法解释,这会给我带来问题,但无论哪种方式,我都处在路障中。
有人可以指导我如何获得工作链接吗?
MainPage.xaml中:
<Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootStyle}">
<Grid x:Name="ContentRoot" Style="{StaticResource ContentRootStyle}">
<StackPanel>
<local:NavigationBar/>
<navigation:Frame x:Name="ContentFrame" Source="/Pages" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed" Margin="25,5">
<navigation:Frame.UriMapper>
<uriMapper:UriMapper>
<uriMapper:UriMapping Uri="" MappedUri="/Pages/Welcome.xaml"/>
<uriMapper:UriMapping Uri="/IT/{pageName}" MappedUri="/pages/IT/{pageName}.xaml"/>
<uriMapper:UriMapping Uri="/RM/{pageName}" MappedUri="/pages/IT/{pageName}.xaml"/>
<uriMapper:UriMapping Uri="/RSG/{pageName}" MappedUri="/pages/IT/{pageName}.xaml"/>
<uriMapper:UriMapping Uri="/RSM/{pageName}" MappedUri="/pages/IT/{pageName}.xaml"/>
<uriMapper:UriMapping Uri="/{pageName}" MappedUri="/pages/{pageName}.xaml"/>
</uriMapper:UriMapper>
</navigation:Frame.UriMapper>
</navigation:Frame>
</StackPanel>
</Grid>
</Grid>
横幅内的链接:
<StackPanel x:Name="NavBarSubNavRSG" Style="{StaticResource NavBarSubNavStyle}"
Visibility="Collapsed">
<Rectangle Style="{StaticResource NavBarSubNavPadStyle}"/>
<HyperlinkButton x:Name="NavBarSubRSGOneLink" Content="RSG One"
Style="{StaticResource NavBarSubNavLinkStyle}"/>
<Rectangle Style="{StaticResource NavBarSubNavRectStyle}"/>
<HyperlinkButton x:Name="NavBarSubRSGTwoLink" Content="RSG Two"
Style="{StaticResource NavBarSubNavLinkStyle}"/>
<Rectangle Style="{StaticResource NavBarSubNavRectStyle}"/>
<HyperlinkButton x:Name="NavBarSubRSGThreeLink" Content="RSG Three"
Style="{StaticResource NavBarSubNavLinkStyle}"/>
<Rectangle Style="{StaticResource NavBarSubNavRectStyle}"/>
<HyperlinkButton x:Name="NavBarSubRSGFourLink" Content="RSG Four"
Style="{StaticResource NavBarSubNavLinkStyle}"/>
</StackPanel>
答案 0 :(得分:3)
您需要设置HyperlinkButton的NavigateUri和TargetName属性。 NavigateUri指向页面的Uri,TargetName是x:框架的名称:
<sdk:Frame
x:Name="ContentFrame"/>
...
<HyperlinkButton
x:Name="NavBarSubRSGFourLink"
Content="RSG One"
NavigateUri="RSGOne.xaml"
Target="ContentFrame"/>