上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 60 下一页
根本上讲,数据绑定是关于在一个地方保持数据,例如,在另一个地方,一个控件的属性,在数据上同步一个对象的属性。在这一章,我们从深度和广度上遍历了数据绑定引擎这一基础概念,以及大量牵连到的,包括基于对象和XML数据格式的条目和列表,基于数据目标的条目和列表,管理当前项,值的转换,排序,过滤,数据模板,甚至主从页面的关系。 在WPF的每一层对数据绑定的彻底支持,使之成为优秀的样式,在某种程度上数据绑定并... Read More
posted @ 2008-04-04 12:54 包建强 Views(576) Comments(2) Diggs(0)
我们已经看到绑定一个单独的对象,还看到绑定一个单独的对象列表。另一种非常流行的方式是绑定多个对象列表,尤其是相关的列表。例如,如果你向用户显示一个客户列表,当他们选中其中一个客户,就会显示客户的相关订单,这时,你就会使用主从复合绑定。 主从复合绑定是一种过滤的形式,在主页面的列表部分,客户452设置了过滤器作为联合到从页面数据的参数,例如,客户452的相关订单。 到我们目前的讨论为止,我们并没有客... Read More
posted @ 2008-04-04 12:53 包建强 Views(1159) Comments(3) Diggs(0)
目前为止,我们已经简单的处理了对象。然而,这并不是数据的唯一来源;XML和突然想到的相关数据库,都是流行的选择。更进一步地,由于XML或 相关数据库并不能存储数据为.NET对象,某些转换可能需要支持数据绑定,正如你会想到的,需要数据源对象上的.NET属性。而且即使我们可以直接在xaml中声明对象,仍然希望有一个层间接地从其他源中拉数据,甚至于将这个工作交给一个工作线程,如果说取回是一个呆板的操作。... Read More
posted @ 2008-04-04 12:46 包建强 Views(1149) Comments(3) Diggs(0)
目前为止,你已经看到一些示例将控件绑定到一个单独的对象。然而,更复杂的使用是绑定到一个对象列表。例如,想象一下,我们的对象数据源可以创建一个新类型表示Person对象的列表,正如示例4-19: 示例4-19 using System.Collections.Generic; // List namespace PersonBinding { // XAML doesn't (yet) ha... Read More
posted @ 2008-04-04 12:36 包建强 Views(1562) Comments(1) Diggs(0)
我们手动编写代码保证UI和数据同步。有效将两组属性隐式的绑定在一起,一组来自Person对象,另一组来自显示Person对象的控件。数据绑定用于显式的将属性从一个对象绑定到另一个,保持它们的同步,并转换为适当的类型,正如图4-7所示。 图4-7 4.2.1 绑定 取代以在代码中手动设置TextBox对象的Text属性并保证它们是最新的,数据绑定允许我们使用Binding对象的实例来设置Tex... Read More
posted @ 2008-04-04 12:24 包建强 Views(1361) Comments(4) Diggs(0)
考虑一个非常简单的应用程序:遍及一个人的名字和年龄,正如图4-1所示: 图4-1 图4-1可以实现为一个简单的xaml如示例4-1。 示例4-1 Name: Age: Birthday 在这个简单应用程序中显示的数据,可以被一个简单的类表现,如示例4-2所示。 示例4-2 public class Person {... Read More
posted @ 2008-04-04 12:15 包建强 Views(1081) Comments(1) Diggs(0)
任何应用程序都存在允许用户操作的数据,无论其来自对象,还是不同等级的或相关的资源。不管数据来自何处或者无论以什么格式,你可以对这些数据做很多事情,包括显示,转换,排序,过滤,关联,时常还会编辑它们。如果没有一种数据绑定的引擎,你将要手动地在UI和数据之间进行大批量的往返转换。适当的使用数据绑定,你只需要少量优雅的代码就可以获取更多的绑定样式——这样做通常是值得的。 Read More
posted @ 2008-04-04 11:54 包建强 Views(699) Comments(2) Diggs(0)
样式支持你定义一个策略来设置可视化元素的依赖属性。属性的设置可以被命名以及手动或者编程方式地通过名称应用,或者使用元素类型样式来自动应用。除了提供不变的依赖属性值之外,样式可以包含基于条件的属性值——基于依赖属性,数据属性或者事件。还有,如果设置属性并不足以获取到你寻求的外观,你可以替换一个非可视化的控件,使用控件模板生成全部的控件行为。 但这并不是样式的全部。要了解动画是如何工作的,你可以阅读第... Read More
posted @ 2008-04-04 11:53 包建强 Views(568) Comments(2) Diggs(0)
如果仔细的看我们当前的TTT游戏,会发现Button对象并没有完全为我们工作。哪些TTT面板有内圆角? 图5-14 这里,我们真正需要的是能够保持按钮的行为,如支持内容和点击事件,但是我们想要接管这些按钮的外观。WPF允许这种方式,因为内在的控件创建的时候是缺少外观性的,例如,他们提供行为,但是外观可以被完全包装在客户端控件的外面。 还记得我们是如何使用数据模板,来为非可视化对象提供外观的么... Read More
posted @ 2008-04-04 11:52 包建强 Views(1035) Comments(2) Diggs(0)
目前为止,我们已经看到样式,作为一个Setter元素的集合。当应用一个样式时,在Setter元素中描述的设置不会无条件地应用(除非复写每一个设置的实例)。另一方面,触发器是一种在条件中包装了一个或更多Setter元素的方式,如果条件为真,相应地Setter元素会被执行,而条件为false的时候,属性值返回预先触发的值。 WPF伴随着3种你可以在一个触发器条件中检查的事情一起发生,依赖属性,.NET... Read More
posted @ 2008-04-04 11:47 包建强 Views(1652) Comments(3) Diggs(0)
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 60 下一页