silverlight中创建导航web

首先需要引入 System.windows.Navigation.dll,然后创建SilverLight Navigation Web就会自动生成一个网站框架。

其中在Styles.xaml相当与CSS一样。

创建导航栏:

 <Grid x:Name="NavigationGrid" Style="{StaticResource NavigationGridStyle}">

            <Border x:Name="BrandingBorder" Style="{StaticResource BrandingBorderStyle}">
                <StackPanel x:Name="BrandingStackPanel" Style="{StaticResource BrandingStackPanelStyle}">

                    <ContentControl Style="{StaticResource LogoIcon}"/>
                    <TextBlock x:Name="ApplicationNameTextBlock" Style="{StaticResource ApplicationNameStyle}" 
                               Text="应用程序名"/>

                </StackPanel>
            </Border>

            <Border x:Name="LinksBorder" Style="{StaticResource LinksBorderStyle}">
                <StackPanel x:Name="LinksStackPanel" Style="{StaticResource LinksStackPanelStyle}">

                    <HyperlinkButton x:Name="Link1" Style="{StaticResource LinkStyle}" 
                                     NavigateUri="/Home" TargetName="ContentFrame" Content="主页"/>
									 
                    <Rectangle x:Name="Divider1" Style="{StaticResource DividerStyle}"/>
					
                    <HyperlinkButton x:Name="Link2" Style="{StaticResource LinkStyle}" 
                                     NavigateUri="/About" TargetName="ContentFrame" Content="关于"/>

                    <HyperlinkButton x:Name="Link3" Style="{StaticResource LinkStyle}" 
                                     NavigateUri="/School" TargetName="ContentFrame" Content="学校"/>

                </StackPanel>
            </Border>

        </Grid>

创建建网站主体:

      <Border x:Name="ContentBorder" Style="{StaticResource ContentBorderStyle}">

            <navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" 
                              Source="/Home" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed">
                <navigation:Frame.UriMapper>
                  <uriMapper:UriMapper>
                    <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
                    <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
                    <uriMapper:UriMapping Uri="School" MappedUri="/Views/School.xaml"/>
                    </uriMapper:UriMapper>
                </navigation:Frame.UriMapper>
            </navigation:Frame>
        </Border>

使用navigation:Frame.UriMapper后,就不需要自己调用Navigation()方法了,只需要配置到 uriMapper中就可以了,

否则需要:

  • stringuriText = String.Format("/Product.xaml?id={0}&type={1}",productID, productType);
  • mainFrame.Navigate(newUri(uriText),UriKind.Relative);

然后再领一个页面中取值

  • intproductID, type;
  •             if (this.NavigationContext.QueryString.ContainsKey("productID"))
  •                 productID = Int32.Parse(this.NavigationContext.QueryString["productID"]);
  •             if (this.NavigationContext.QueryString.ContainsKey("type"))
  •                 type = Int32.Parse(this.NavigationContext.QueryString["type"]);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值