当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

WPF数据绑定之绑定声明

本主题讨论声明绑定的不同方法。

先决条件
在阅读本主题之前,应当先熟悉标记扩展的概念和使用,这一点非常重要。

本主题不介绍数据绑定的概念。

在 XAML 中声明绑定
本节讨论如何在可扩展应用程序标记语言 (XAML) 中声明绑定。

标记扩展使用
Binding 是标记扩展。当您使用绑定扩展来声明绑定时,声明包含一系列子句,这些子句跟在 Binding 关键字后面,并由逗号 (,) 分隔。绑定声明中的子句可以按任意顺序排列,因此有许多可能的组合。子句是名称=值 对,其中名称 是 Binding 属性,值 是您要为该属性设置的值。

当在标记中创建绑定声明字符串时,必须将它们附加到目标对象的特定依赖项属性。下面的示例演示如何通过使用绑定扩展并指定 Source、Path 和 UpdateSourceTrigger 属性来绑定 TextBox.Text 属性。

 

您可以通过这种方法来指定 Binding 类的大部分属性。

对象元素语法
对象元素语法是创建绑定声明的另一种方法。在大多数情况下,使用标记扩展或对象元素语法没有特定的优势。但是,在标记扩展不支持您的方案的情况下,例如,当您的属性值是不存在类型转换的非字符串类型时,您将需要使用对象元素语法。

下面是对象元素语法和标记扩展使用的一个示例:

 

此示例通过使用扩展语法声明绑定来绑定 Foreground 属性。Text 属性的绑定声明使用对象元素语法。

MultiBinding 和 PriorityBinding
MultiBinding 和 PriorityBinding 不支持 XAML 扩展语法。因此,如果您要在 XAML 中声明 MultiBinding 或 PriorityBinding,则必须使用对象元素语法。

在代码中创建绑定
指定绑定的另一种方法是在代码中直接为 Binding 对象设置属性。下面的示例演示如何在代码中创建 Binding 对象并指定属性:

 

如果您要绑定的对象是 FrameworkElement 或 FrameworkContentElement,则您可以直接对该对象调用 SetBinding 方法,而不是使用 BindingOperations..::.SetBinding。

绑定路径语法
使用 Path 属性可以指定您要绑定到的源值:

在最简单的情况下,Path 属性值是要用于绑定的源对象的属性名,如 Path=PropertyName。

在 C# 中可以通过类似语法指定属性的子属性。例如,子句 Path=ShoppingCart.Order 设置与对象或属性 ShoppingCart 的 Order 子属性的绑定。

若要绑定到附加属性,应在附加属性周围放置圆括号。例如,若要绑定到附加属性 DockPanel..::.Dock,则语法是 Path=(DockPanel.Dock)。

可以在要应用索引器的属性名后面的方括号内指定属性的索引器。例如,子句 Path=ShoppingCart[0] 将绑定设置为与属性的内部索引处理文本字符串“0”的方式对应的索引。还支持嵌套的索引器。

可以在 Path 子句中混合索引器和子属性;例如,Path=ShoppingCart.ShippingInfo[MailingAddress,Street].

在索引器内部,您可以有多个由逗号 (,) 分隔的索引器参数。可以使用圆括号指定每个参数的类型。

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接