文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发软件工程用WPF构建强大的用户体验
精品推荐
特别推荐
·Tomcat中用web.xml控制Web应用详解
·计算机网络工程课程讲解
·COM, COM+ and .NET 的区别
·ISO9000:2000 质量管理八大原则(1)
·Struts框架及其在Web开发中的应用
·献给汇编初学者-函数调用堆栈变化分析
·质量管理的十三项步骤和八项原则(1)
·质量管理体系审核全解(1)
·WinCE.Net平台下电力巡检仪数据同步研究与实现
·黑盒测试和白盒测试
·黑客程序设计
·软件自动化测试流程
·详述RPG游戏引擎的设计原理
热点TOP10
·Visual Studio 2005集成开发环境图解
·Linux BOOTLOADER全程详解(Arm S3C2410)
·清除window 2000/XP系统中的无用设备的驱动程序
·gsoap中文文档(8.1.1)
·如何为嵌入式开发建立交叉编译环境
·ISO9000:2000 质量管理八大原则
·Vista新技术:WCF开发指南之构建服务
·UML类图详解(1)
·ISO9000:2000 质量管理八大原则(1)
·商场荧屏导购展板系统软件需求说明书
·Tomcat中用web.xml控制Web应用详解
·使用ADS1.2进行嵌入式软件开发
·VC中利用多线程技术实现线程之间的通信
·编写质量手册
·软件工程-软件目的需求开发与管理
·软件项目质量管理经验谈
·.NET 数据访问架构指南
·献给汇编初学者-函数调用堆栈变化分析
·软件与并发巨变 不得不面对的革命
·管理信息系统需求调研分析指南

用WPF构建强大的用户体验

日期:2007年8月16日 作者: 查看:[大字体 中字体 小字体]



pack://siteoforigin:,,,/HomePage.xaml
  你可以导航到页面(无论是嵌入的还是松散的)的任何一个片段(fragment)。这与Web样式的片段导航是类似的。通过指定Name属性,你就可以在页面上定义片段了,如下所示:

<Page ... >
<TextBlock Name="Paragraph1" TextWrapping="Wrap">
...
</TextBlock>
</Page>
  为了导航到页面片段,你需要使用另外一种特殊的Pack URI,在页面URI上附加"#XAMLElementName",如下所示:

HelpPage3.xaml#Paragraph3
  页面函数(PageFunction)

  由于内容来自于多个位置,而超链接驱动的应用程序又允许用户导航到任何位置,从而使完成一项事务变得非常困难。这是因为超链接驱动的应用程序不能轻易地约束用户导航到特定页面。无论应用程序提供了多少个超链接,用户仍然可以使用浏览器的地址栏导航到任何地方。其结果是,用户可以离开发起事务的页面,而不考虑事务是否完成了。在Web世界中,有很多技巧可用于建立类似对话框样式行为、依赖对话状态等的Web页面。不幸的是,这需要大量的开销。对话框的确可以解决这个问题,但是由于安全性原因,Window不能从应用程序中实例化,例如XBAP的对话框就只能在Internet区域部分信任环境中运行。

  幸运的是,Windows Presentation Foundation通过页面函数支持模式对话框样式的机制。它们被封装为泛化的PageFunction类型,直接衍生自Page。因而PageFunction的样子与页面类似,它的建立方式也相似,如下段所示。

  代码:PageFunction

<!--OrderABoxPageFunction.xaml (markup) -->
<PageFunction
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:BoxApplicationXBAP"
x:Class="BoxApplicationXBAP.OrderABoxPageFunction"
x:TypeArguments="local:Order"
WindowTitle="Box Application - Order a Box" >
...
<!--Content-->
...
<PageFunction>

// OrderABoxPageFunction.cs (code-behind)
public partial class OrderABoxPageFunction:
PageFunction<Order> { ... }
  这个特定的页面函数的目标是收集新订单的信息,它被Order封装了。由于典型情况下事务都是这样操作数据的,PageFunction是一个泛型(generic),并被声明用于操作特定的数据(标记中特定的x:TypeArguments属性)。如果x:TypeArguments的值和泛化的PageFunction类型的参数不匹配,就会出现编译错误。

  调用PageFunction的页面需要实例化PageFunction并手动导航到该页面上:

// HomePage.cs (codebehind)
public partial class HomePage : Page
{
 void orderHyperlink_Click(object sender, RoutedEventArgs e)
 {
  OrderABoxPageFunction pageFunction = new OrderABoxPageFunction();
  pageFunction.Return += new ReturnEventHandler<Order>(OrderABoxPageFunction_Returned);
  this.NavigationService.Navigate(pageFunction);
 }
 ...
}
  接下来,PageFunction在给调用页面返回结果之前,必须允许用户完成页面:

// OrderABoxPageFunction.cs (codebehind)
public partial class OrderABoxPageFunction:
PageFunction<Order>
{
void orderHyperlink_Click(object sender, RoutedEventArgs e)
{
// 返回订单
this.OnReturn(new ReturnEventArgs<Order>(this.order));
}
void cancelHyperlink_Click(object sender, RoutedEventArgs e)
{
// 取消订单
this.OnReturn(null);
}
...
}
  接下来调用PageFunction.OnReturn返回,传递一个泛化的ReturnEventArgs实例。如果事务被接受了,它就包含一个PageFunction所操作的类型实例。否则,它就是空的。为了检测PageFunction的返回,并获取ReturnEventArgs和其数据,调用页面需要处理PageFunction.Returned事件,如下段代码所示。被返回的数据存放在Returned事件处理程序的ReturnEventArgs参数的Result属性中。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页 




上一篇:XAML开发入门之XAML的五大元素

下一篇:XAML开发入门之附加属性和绑定属性

用WPF构建强大的用户体验 相关文章:
·XP用户:教你实用50招
·神不知鬼不觉地更换Win XP用户密码
·Java图形用户界面设计
·Dreamweaver MX 2004做ASP程序(4)用户注册系统
·免费申请QQ(腾迅专门为国外用户提供)
·Windows Vista 32位16国多语言用户界面包
·Windows XP用户:教你实用50招
·外网用户如何访问内网FTP服务器
·在jsp中用bean和servlet联合实现用户注册、登录
·如何阻止局域网用户使用P2P软件下载
用WPF构建强大的用户体验 相关软件:
·公司企业网站管理系统模板功能强大版
·飘易多用户日记本(蓝色幻想) v1.5
·虎鹰网络美化多用户留言本
·同花顺TopView(赢富)深度决策证券行情分析软件(T+1)体验版 V7.40.72
·闪客留言簿(单用户版)
·Lhgb 多用户留言版系统
·互动调查多用户投票
·Recover My Files(强大数据恢复工具)V3.98.5813 汉化版
·商易单用户商城 v1.0
·飞越单用户首页智能连接系统

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot