|
| |
精品推荐 |
 |
|
| |
|
|
|
|
用WPF构建强大的用户体验
|
日期:2007年8月16日 作者: 查看:[大字体
中字体 小字体]
|
} ... } 消息框、对话框、窗体和应用程序窗体是标准的、菜单驱动的应用程序开发模型的核心。在很久以前的显示技术中也都支持这些内容。但是,Windows Presentation Foundatio通过对超链接驱动的导航支持扩展了这些内容,它从导航内容的基本单位--页面开始。Page类
Page是一种与HTML Web页面(它使Web更加普及了)类似的Windows Presentation Foundation内容。前面我提到过,Windows Presentation Foundation在标准的和浏览器应用程序中都支持超链接驱动的导航。Windows Presentation Foundation中的超链接驱动的导航体验的内容基础是Page(页面)。
在Visual Studio 2005中,通过选择"项目 添加新文件 WinFX 页面"给项目添加标记和后台页面定义。它生成的代码与图5所示的相似。
代码:添加标记和后台页面定义
<!--HomePage.xaml (markup)--> <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="BoxApplicationNavigationWindow.HomePage" ... > ... <!--Order Content--> ... </Page>
// HomePage.xaml.cs (codebehind) using System.Windows.Controls; // Page public partial class HomePage : Page { ... } 页面标记文件是在页面构建项中配置的。如果使用窗体,可以从URI载入它,这意味着配置Application.StartupUri之后可以在应用程序启动时自动地载入页面:
<!--App.xaml (markup)--> <Application ... StartupUri="HomePage.xaml" /> 由于Page类不是窗体,也不是衍生自Window的,因此它不能寄宿自身。幸运的是,Application类足够智能,当StartupUri被设置为特定页面的时候,它可以检测到。Application会建立一个窗体,在窗体内寄宿该页面。
Hyperlink类
所有的超链接驱动的应用程序都拥有多个XAML页面,你必须为用户提供一条在页面之间进行导航的途径。你可能猜到了Windows Presentation Foundation是用超链接来实现超链接驱动的导航的。你可以采用下面的方式给页面增加超链接:
<!--HomePage.xaml (markup)--> <Page ... > ... <Hyperlink NavigateUri= "OrderingGuidelinesPage.xaml"> Ordering Guidelines </Hyperlink> ... </Page> 上面的代码配置超链接以导航到一个XAML页面,它使用的基本编程模型与HTML HREF是一样的。你指定一个要导航到的URI(例子中是OrderingGuidelinesPage.xaml)和文本,用户可以看到文本并点击它来发起导航。
由于太多的可浏览内容都存在于基于HTML的Web页面上,因而Windows Presentation Foundation和超链接能够让你无缝地导航到基于Web的内容。例如,"订单向导"已经存在于BOX应用程序的Web站点上,因此,我们不应该把它们复制成应用程序中的XAML文件,而只需要简单地改变NavigateUri属性的值,如下所示:
<!--HomePage.xaml (markup)--> <Page ... > ... <Hyperlink NavigateUri="OrderingGuidelinesPage.html"> Ordering Guidelines </Hyperlink> ... </Page>导航窗体(NavigationWindow)
现在你可能对几个问题很疑惑。由于页面不是窗体,那么寄宿页面的窗体来自哪儿?当我们点击超链接的时候,到底是什么在处理导航?HTML Web页面内容是如何显示在Windows Presentation Foundation应用程序中的?所有的这些都是由NavigationWindow来处理的。
当你把Application.StartupUri设置为XAML或HTML页面的时候,应用程序(我们知道这些页面都不会提供自己的窗口)建立一个NavigationWindow实例来寄宿它们。
NavigationWindow衍生自Window,并扩展了它的可视化外表,使它的样子与浏览器类似,如图6所示。
 图6:NavigationWindow
上一篇:XAML开发入门之XAML的五大元素
下一篇:XAML开发入门之附加属性和绑定属性
|
| 用WPF构建强大的用户体验 相关文章: |
|
|
|
| 用WPF构建强大的用户体验 相关软件: |
|
|
|
|