Silverlight 数据绑定中的值转换器与数据模板应用
1. 数据转换概述
在普通绑定中,信息从数据源到目标通常不做任何改变,但这并非总是我们想要的。数据源可能采用底层表示形式,不适合直接在用户界面显示。例如,需要将数字代码替换为可读字符串、对数字进行精简、以长格式显示日期等。若使用双向绑定,还需将用户输入的数据转换为适合存储在数据对象中的形式。
Silverlight 允许通过创建和使用值转换器类来实现这些转换。值转换器负责在源数据显示在目标之前进行转换,对于双向绑定,还会在新的目标值应用回源之前进行反向转换。
值转换器在 Silverlight 数据绑定中有多种用途:
- 格式化数据为字符串表示,如将数字转换为货币字符串。
- 创建特定类型的 Silverlight 对象,如将二进制数据转换为 BitmapImage 对象。
- 根据绑定数据有条件地更改元素的属性,如改变元素的背景颜色以突出特定范围的值。
2. 使用值转换器格式化字符串
值转换器是将数字格式化为文本显示的理想工具。以 Product.UnitCost 属性为例,它存储为十进制数,在文本框中显示时可能会出现类似 3.9900 的值,不仅小数位数过多,还缺少货币符号。更直观的表示应该是货币格式化后的值,如 $49.99 。
创建值转换器需要以下三个步骤:
1. 创建一个实现 IValueConverter 的类。
2. 实现 Conve
超级会员免费看
订阅专栏 解锁全文
49

被折叠的 条评论
为什么被折叠?



