亚冠

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

2020-01-19 12:53:52来源:励志吧0次阅读

用户使用微软的新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>元素描述它。

云香精的功效和用法
用法用量明确精准的小孩止咳药物
藤黄健骨丸能治滑囊炎吗
急性扭伤的处理方式
分享到: