Silverlight数据绑定与验证:从基础到实践
立即解锁
发布时间: 2025-08-13 03:16:09 阅读量: 11 订阅数: 36 

### Silverlight 数据绑定与验证:从基础到实践
#### 1. 双工服务的局限性
双工服务并不适合大量用户。默认情况下,双工服务最多支持 10 个并发连接,但可以通过 [此链接](http://tinyurl.com/m9bdn4) 中的 C# 代码来修改这个限制。一般来说,双工服务在少量并发连接的客户端(几十个而非几百个)下性能最佳。
#### 2. 数据绑定概述
数据绑定是一种从对象中提取信息并将其显示在应用程序用户界面中的传统方法,无需编写繁琐的代码。富客户端通常使用双向数据绑定,它允许将用户界面中的信息推回到对象中,同样也无需编写大量代码。
#### 3. Silverlight 数据绑定与 WPF 的对比
如果有 WPF 编程经验,会发现 Silverlight 的数据绑定能力有明显缩减。以下是一些主要的缺失特性:
| 特性 | 描述 |
| --- | --- |
| ADO.NET DataSet 绑定 | Silverlight 不支持绑定到 ADO.NET DataSet 类,因为它不包含 ADO.NET 的任何部分。 |
| CollectionView 类 | 不包含用于更改对象集合排序和过滤方式的 CollectionView 类。 |
| 分组数据支持 | 不支持分组数据。 |
| IDataErrorInfo 接口 | 不支持 IDataErrorInfo 接口。 |
| 多属性值转换器 | Silverlight 值转换器只能作用于一个数据属性,不能作用于多个属性。 |
| 动态选择器 | 不允许创建动态选择绑定数据的正确样式或模板的选择器。 |
| 对象提供程序 | 不包含用于无代码数据绑定的对象提供程序。 |
| 多优先级绑定 | 不允许定义多个优先级绑定。 |
不过,剩余的数据绑定功能足以构建具有复杂数据显示功能的应用程序。
#### 4. 绑定到数据对象
数据绑定的基本过程是告诉 Silverlight 从源对象中提取属性值,并使用该值设置目标对象的属性。源对象可以是任何对象,目标对象必须是 Silverlight 元素,目标属性必须是依赖属性。
#### 5. 构建数据对象
创建一个简单的数据对象是测试 Silverlight 数据绑定功能的最佳方法。数据对象是相关信息的集合,任何包含公共属性的类都可以作为数据对象。如果希望用户能够通过数据绑定修改数据对象,其属性不能是只读的。
以下是一个简单的数据对象示例,用于封装产品目录中单个产品的信息:
```vb
Public Class Product
Private _modelNumber As String
Public Property ModelNumber() As String
Get
Return _modelNumber
End Get
Set(ByVal value As String)
_modelNumber = value
End Set
End Property
Private _modelName As String
Public Property ModelName() As String
Get
Return _modelName
End Get
Set(ByVal value As String)
_modelName = value
End Set
End Property
Private _unitCost As Double
Public Property UnitCost() As Double
Get
Return _unitCost
End Get
Set(ByVal value As Double)
_unitCost = value
End Set
End Property
Private _description As String
Public Property Description() As String
Get
Return _description
End Get
Set(ByVal value As String)
_description = value
End Set
End Property
Public Sub New(ByVal modelNumber As String, ByVal modelName As String, _
ByVal unitCost As Double, ByVal description As String)
Me.ModelNumber = modelNumber
Me.ModelName = modelName
Me.UnitCost = unitCost
Me.Description = description
End Sub
End Class
```
#### 6. 使用 DataContext 显示数据对象
要显示数据对象的信息,可以使用数据绑定表达式。绑定表达式是一种标记扩展,用花括号表示,以 `Binding` 开头。例如,要访问 `Product.ModelNumber` 属性,可以使用 `{Binding ModelNumber}` 表达式。
以下是一个使用绑定表达式显示产品信息的示例:
```xml
<Grid Name="gridProductDetails">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
```
0
0
复制全文
相关推荐










