一.新建项目
二.此项目模版创建两个新项目,silverlight程序寄宿在ASP.NET网站项目.项目运行效果(我设置了在WEB浏览器外运行)
现在看到的项目运行效果 是不是很像ASP.NET网站?其实此页面完全是Silverlight控件。内嵌了Navigation Framework框架支持,可以实现XAML页面之间的导航,与普通的Silverlight不同.
项目解决方案
二.导航框架代码
View Code
1 <Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootGridStyle}">
2
3 <Border x:Name="ContentBorder" Style="{StaticResource ContentBorderStyle}">
4
5 <navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}"
6 Source="/Home" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed">
7 <navigation:Frame.UriMapper>
8 <uriMapper:UriMapper>
9 <!--我们给页面取别名,这样就可以简化页面名称,访问页面即可导航实际页面-->
10 <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
11 <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
12 </uriMapper:UriMapper>
13 </navigation:Frame.UriMapper>
14 </navigation:Frame>
15 </Border>
16
17 <Grid x:Name="NavigationGrid" Style="{StaticResource NavigationGridStyle}">
18
19 <Border x:Name="BrandingBorder" Style="{StaticResource BrandingBorderStyle}">
20 <StackPanel x:Name="BrandingStackPanel" Style="{StaticResource BrandingStackPanelStyle}">
21
22 <ContentControl Style="{StaticResource LogoIcon}"/>
23 <TextBlock x:Name="ApplicationNameTextBlock" Style="{StaticResource ApplicationNameStyle}"
24 Text="应用程序名"/>
25
26 </StackPanel>
27 </Border>
28
29 <Border x:Name="LinksBorder" Style="{StaticResource LinksBorderStyle}">
30 <StackPanel x:Name="LinksStackPanel" Style="{StaticResource LinksStackPanelStyle}">
31 <!--导航按钮HyperlinkButton-->
32 <HyperlinkButton x:Name="Link1" Style="{StaticResource LinkStyle}"
33 NavigateUri="/Home" TargetName="ContentFrame" Content="主页"/>
34 <!--别名导航-->
35 <Rectangle x:Name="Divider1" Style="{StaticResource DividerStyle}"/>
36
37 <HyperlinkButton x:Name="Link2" Style="{StaticResource LinkStyle}"
38 NavigateUri="/About" TargetName="ContentFrame" Content="关于"/>
39
40 </StackPanel>
41 </Border>
42
43 </Grid>
44
45 </Grid>