超链接导航和片段导航

除了使用NavigationService.Navigate()进行页面导航外,还可以直接在Xaml中使用超链接导航。

从一页导航到另一页最简单的方法是使用 Hyperlink通过下面的标记中所示的 Hyperlink 元素,可以以声明方式将 Hyperlink 添加到 Page

代码
<Page
  xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  WindowTitle
="Page With Hyperlink"
  WindowWidth
="250"
  WindowHeight
="250">
...

<Hyperlink NavigateUri="UriOfPageToNavigateTo.xaml">
  Navigate to Another Page
</Hyperlink>

...

</Page>

 



Hyperlink 元素需要以下组成部分:

  • 要导航到的 Page 的 pack URI,它由 NavigateUri 特性指定。

  • 通过用户单击即可启动导航的内容,如文本和图像

 
除了支持从一个 Page 导航到另一页之外,Hyperlink 还支持片段导航。

 

片段导航

片段导航是导航到当前 Page 或另一个 Page 中的内容片段。在 WPF 中,内容片段是由命名元素包含的内容。命名元素是设置了 Name 特性的元素。下面的标记演示一个包含内容片段的命名 TextBlock 元素。

 

代码
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    WindowTitle
="Page With Fragments" >


...


<!-- Content Fragment called "Fragment1" -->
<TextBlock Name="Fragment1">
  Ea vel dignissim te aliquam facilisis ...
</TextBlock>


...


</Page>

 

 

对于可导航到内容片段的 HyperlinkNavigateUri 特性必须包含以下内容:

  • 包含要导航到的内容片段的 Page 的 URI。

  • 一个“#”字符。

  • Page 中包含内容片段的元素的名称。

片段 URI 的格式如下。

PageURI#ElementName

 

下面演示一个 Hyperlink 示例,它配置为导航到内容片段。

 

代码
<Page
  xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  WindowTitle
="Page That Navigates To Fragment" >


...


<Hyperlink NavigateUri="PageWithFragments.xaml#Fragment1">
  Navigate To pack Fragment
</Hyperlink>


...


</Page>

 

说明:

本节介绍 WPF 中片段导航的默认实现。WPF 也允许您实现自己的在某种程度上需要处理 NavigationService.FragmentNavigation 事件的片段导航方案。

 

 

posted @ 2010-08-27 14:50  大厨无盐煮  阅读(296)  评论(0编辑  收藏  举报