科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Avalon应用程序中的导航技术分析

Avalon应用程序中的导航技术分析

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文将介绍Avalon应用程序的导航特性

作者:陶刚编译 来源:天极网 2007年11月4日

关键字: Avalon 应用程序 导航技术

  • 评论
  • 分享微博
  • 分享邮件
用户使用微软的新Avalon UI框架组件和XAML(它是用于建立Avalon应用程序的语言)可以建立不同类型的应用程序。本文将介绍Avalon应用程序的导航特性。(请注意,从一开始起,微软就赋予Avalon一个永久的名称:Windows显示框架。在本文中,我们提及的WPF就是指Avalon)。

  WPF应用程序可以被分成两种类型:

  ·独立的Windows应用程序

  ·包含一系列页面的应用程序

  后一种类型(用户在一系列页面中导航)更加普遍。这种类型的应用程序中的导航元素是由Hyperlink(超链接)控件提供。但是Hyperlink控件也有一些缺点,例如向目标页面传递值困难、确定目标页面什么时候返回到调用页面的能力有限、给调用页面传递值也很困难。

  因此,在本文中我将演示如何来处理这些问题;我将建立一个WPF应用程序,它从一个页面导航到另一个页面,在页面之间传递值。

  导航的基础知识

  在深入讲解WPF中的页面导航理论之前,我首先编写一个简单的应用程序,解释一些关键特性。首先,使用Visual Studio 2005建立一个新的WPF项目(我使用的是VB.NET),把这个应用程序命名为AvalonNavigation(图1所示)。


图1:在Visual Studio 2005中建立一个新的WPF应用程序

  解决方案管理器如图2所示:


图2:解决方案管理器中的内容。你可以看到建立的新项目。

  首先我查看项目中的MyApp.xaml文件。Avalon导航应用程序从<NavigationApplication> 根元素开始。StartupUri属性指定了应用程序执行时载入的页面;在例子中,启动页面是Page1.xaml:

<NavigationApplication x:Class="MyApp"
 xmlns="http://schemas.microsoft.com/winfx/avalon/2005"
 xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
StartupUri="Page1.xaml"

<NavigationApplication.Resources>
</NavigationApplication.Resources>
</NavigationApplication>
Page1.xaml的内容如下所示:
<Page x:Class="Page1"
 xmlns="http://schemas.microsoft.com/winfx/avalon/2005"
 xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"

<Grid>

</Grid>
</Page>

  现在给项目添加一个Avalon PageFunction项:右键点击解决方案管理器中的项目名称,然后选择“添加新项…”,并选择Avalon PageFunction模板。把页面的名称改成Page2.xaml并点击“添加”(图3所示)。


图3:分页。给项目添加一个新的Avalon PageFunction项

  Page2.xaml被加入项目之后,双击它来查看其内容:

<PageFunction x:Class="Page2" x:TypeArguments="String"
 xmlns="http://schemas.microsoft.com/winfx/avalon/2005"
 xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"

<Grid>

</Grid>
</PageFunction>

  Avalon PageFunction是一个基本的WPF页面,只是它会给调用页面返回结果(因此称为页面函数)。图4显示了如何在Page1.xaml中使用Page2.xaml并获取Page2.xaml返回的结果。


图4:A到B。现在你可以从Page1.xaml导航到Page2.xaml。

  PageFunction页面有四种类型:

  ·BooleanPageFunction——返回一个布尔型的值;<BooleanPageFunction>元素描述它。

  ·Int32PageFunction——返回一个整型的值;<Int32PageFunction>元素描述它。

  ·ObjectPageFunction——返回一个对象值;<ObjectPageFunction>元素描述它。

  ·StringPageFunction——返回一个字符串;<StringPageFunction>元素描述它。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章