超链接导航和片段导航

除了使用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 事件的片段导航方案。

 

 

你可能感兴趣的:(超链接)