gpt4 book ai didi

silverlight - 使用超链接从子控件更改父导航框架

转载 作者:行者123 更新时间:2023-12-02 00:39:29 25 4
gpt4 key购买 nike

我想我可能在措辞上遇到了麻烦(对 silverlight 及其控件不熟悉),但总体目标和问题是这样的:

我用“MainPage.xaml”创建了一个 silverlight 应用程序。页面内有一个网格,它有两个基本控件:一个导航​​框架 [我们可以像 Microsoft 在他们的演示中所做的那样称呼这个 ContentFrame] 和我创建的另一个控件,包含一个页面顶部的横幅和简单的导航 [用于为了这个解决方案,这可以称为 BannerControl]

BannerControl 中的链接指向(或应该指向)我项目中的各个页面。他们单击横幅中的链接,然后 MainPage 应该填充 ContentFrame(或者我希望如此)。事实并非如此。

我的第一个想法是控件之间的关系以及 BannerControl 是一个子控件并且可能看不到 NavigationFrame。也许是我对这一切应该如何运作的非常无能的解释给我带来了问题,但无论哪种方式,我都遇到了障碍。

有人可以指导我如何使链接正常工作吗?

主页.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>

最佳答案

您需要设置 HyperlinkBut​​ton 的 NavigateUri 和 TargetName 属性。 NavigateUri 指向您页面的 Uri,TargetName 是您的框架的 x:Name:

<sdk:Frame 
x:Name="ContentFrame"/>

...

<HyperlinkButton
x:Name="NavBarSubRSGFourLink"
Content="RSG One"
NavigateUri="RSGOne.xaml"
Target="ContentFrame"/>

关于silverlight - 使用超链接从子控件更改父导航框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3167509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com