Silverlight 4 - 导航

Silverlight 4 - 导航,第1张

概述 努力,继续记录,好好练练我的耐心,加油,一定追到”她”。   切入正题,今天抽些时间看导航模板,下面是我的笔记,嘿嘿,尽量拍砖,求虐。 1,  新建个项目,选择Silverlight navigation Application,名字为SilverlightNavigation 接着就OK到底,之前有说过中间的步骤。 2,  看看项目结构   大体结构都说过(可看http://blog.csdn

 努力,继续记录,好好练练我的耐心,加油,一定追到

  切入正题,今天抽些时间看导航模板,下面是我的笔记,嘿嘿,尽量拍砖,求虐。

1,  新建个项目,选择Silverlight navigation Application,名字为SilverlightNavigation

接着就OK到底,之前有说过中间的步骤。

2,  看看项目结构

 

大体结构都说过(可看http://blog.csdn.net/xuzhongnangs/archive/2010/10/30/5976605.aspx),今天主要看MainPage.xamlVIEwsAssets下的文件。

MainPage.xaml是创建Silverlight的窗体,可称为主窗体

Styles.xamlSilverlight的样式文件,就像HTML中的CSS文件一样。

About.xmlHome.xaml是子窗体,导航所指向的页面。

ErrorWindow.xmal是指当导航指向出错时,所d出的错误提示窗体。

3,  看下MainPage.xaml@R_502_6796@的代码

  <GrID x:name="LayoutRoot" Style="{StaticResource LayoutRootGrIDStyle}">

   GrID定义由列和行组成的可变网格区域Style属性是样式属性,里面的值是引用Styles.xaml文件中的对应值。

<border x:name="Contentborder" Style="{StaticResource ContentborderStyle}">

border在所包含的对象的周围绘制边框、背景或同时绘制二者。

<navigation:Frame x:name="ContentFrame" Style="{StaticResource ContentFrameStyle}"  Source="/Home"Navigated="ContentFrame_Navigated"NavigationFailed="ContentFrame_NavigationFailed">

     Frame支持导航到 Silverlight 页面和从 Silverlight 页面导航的控件,导航的主体控件。

Source设置默认的导航页面。 Navigated事件是指当导航到正确的页面时,发生的事件。

NavigationFailed事件是指导航到错误页面时发生的事件。错误指导航找的页面找不到。

<navigation:Frame.UriMapper>

                  <uriMapper:UriMapper>

                   <uriMapper:UriMapPing Uri="" MappedUri="/VIEws/Home.xaml"/>

                   <uriMapper:UriMapPing Uri="/{pagename}" MappedUri="/VIEws/{pagename}.xaml"/>

                  </uriMapper:UriMapper>

                </navigation:Frame.UriMapper>

            </navigation:Frame>

        </border>

     UriMapper元素可当作一个映射引擎。你可以用Uri设置的终端来映射MappedUri终端,使得它更容易阅读并且不会丢失任何技术配置。你以后还可以修改它,让它映射到其它地方。

<GrID x:name="NavigationGrID" Style="{StaticResource NavigationGrIDStyle}">

      <border x:name="brandingborder" Style="{StaticResource brandingborderStyle}">

         <StackPanel x:name="brandingStackPanel" Style="{StaticResourcebrandingStackPanelStyle}">

     StackPanel将子元素排列成一行或列。

     <ContentControl Style="{StaticResource @R_404_6192@Icon}"/>

     ContentControl表示单项内容的控件。可将的删除,看看页面导航键那有什么变化,就更明白。

     <TextBlock x:name="ApplicationnameTextBlock" Style="{StaticResource ApplicationnameStyle}"

                               Text="Application name"/> </StackPanel>

      TextBlock显示少量文本的轻量控件,感觉像lable控件。

   <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="home"/>

      Hyperlinkbutton导航按钮。NavigateUri设置单击 HyperlinkButton 时要导航到的 URITargetname设置网页应在其中打开的目标窗口或框架的名称。Content设置文本内容

         <Rectangle x:name="divIDer1" Style="{StaticResource divIDerStyle}"/>

         Rectangle绘制一个矩形形状

          <Hyperlinkbutton x:name="link2" Style="{StaticResource linkStyle}"

                 NavigateUri="/About" Targetname="ContentFrame" Content="about"/>

                </StackPanel>

            </border>  

       </GrID>

    </GrID>

    MainPage.xaml.cs文件这里先不讲,里面写的是那两个的处理事件。

   在这里要注意,配置映射的<uriMapper:UriMapPing Uri="" MappedUri="/VIEws/Home.xaml"/>是按顺序配备的,有时你写的配置,顺序一乱就会报错,来个例子看下。

VIEws下建个test的文件夹,再在里面建个Silverlight Page页面。

接着在MainPage.xaml写下对应的映射和hyperlinkbutton

<uriMapper:UriMapPing Uri="" MappedUri="/VIEws/Home.xaml"/>

 <uriMapper:UriMapPing Uri="/{pagename}" MappedUri="/VIEws/test/{pagename}.xaml"/>

 <uriMapper:UriMapPing Uri="/{pagename}" MappedUri="/VIEws/{pagename}.xaml"/>

<Hyperlinkbutton x:name="link1" Style="{StaticResource linkStyle}"

      NavigateUri="/Home" Targetname="ContentFrame" Content="home"/>

          <Rectangle x:name="divIDer1" Style="{StaticResource divIDerStyle}"/>

<Hyperlinkbutton x:name="link2" Style="{StaticResource linkStyle}"

      NavigateUri="/About" Targetname="ContentFrame" Content="about"/>

  <Hyperlinkbutton x:name="link3" Style="{StaticResource linkStyle}"

       NavigateUri="/test/page1" Targetname="ContentFrame" Content="test"/>

启动时报错

如果把urimapPing的顺序该下

<uriMapper:UriMapPing Uri="" MappedUri="/VIEws/Home.xaml"/>

<uriMapper:UriMapPing Uri="/{pagename}" MappedUri="/VIEws/{pagename}.xaml"/>

 <uriMapper:UriMapPing Uri="/{pagename}" MappedUri="/VIEws/test/{pagename}.xaml"/>

不会报错

这是你的映射写法不好造成的。

你现在把那的test的改成

<uriMapper:UriMapPing Uri="/test/{pagename}" MappedUri="/VIEws/test/{pagename}.xaml"/>

位置就不受影响了。

 

当你觉的这个导航的样子不给力,你可以到style.xaml文件修改它的样式,也可到

http://gallery.expression.microsoft.com/zh-CN/site/search?persist=True&f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=themes

下载样式模板,直接覆盖我们的style.xaml文件即可。

 

多动手,才可明白真理,哪些控件,样式或者属性不懂就删除下,看看界面变的怎么样,有助快速了解。

总结

以上是内存溢出为你收集整理的Silverlight 4 - 导航全部内容,希望文章能够帮你解决Silverlight 4 - 导航所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存