silverlight中创建导航web

来源:互联网 发布:java把字符串变成集合 编辑:程序博客网 时间:2024/04/28 12:08

首先需要引入 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"]);



原创粉丝点击