我刚刚开始用Silverlight弄脏手,“价值转换器”不断涌现。我不记得在ASP.NET Web应用程序世界中阅读它们。这是Silverlight / WPF中的特殊功能吗?它的目的是什么?
谢谢!
答案 0 :(得分:2)
当您将数据绑定到控件时,有时需要修改数据或在进入控件的过程中调整某些数据,或者数据离开控件并返回源属性(在TwoWay绑定期间)例如)。当然,您总是可以编写代码来更改给定值,但在许多情况下,编写一个可以重复使用的简单值转换器要容易得多。在这篇文章中,我将逐步创建一个值转换器,然后显示我发现自己经常使用的一些值转换器的代码。
答案 1 :(得分:1)
在数据绑定方面,Web平台与Windows之间形成鲜明对比。特别是在WPF / Silverlight / Windows Phone 7中。与无状态的Web相比,这些技术支持不同的数据绑定。
值转换器的一个非常常见的示例是当您想要在WPF / Silverlight中隐藏或显示控件时。像堆栈面板这样的控件具有可见性属性,这是一个枚举。我们可以指定Visible / Collapse / Hidden等值来显示或隐藏堆栈面板。在大多数情况下,可见性由布尔值控制。因此,您使用转换器将布尔值转换为可见性。
值转换器的另一个例子可能是数量字段的格式化。假设您要在数量文本框中显示1000存储在数据库中的$ 1,000.00。您可以使用值转换器来执行此操作。
可能性无穷无尽。您可以将价值转换器视为某种东西的直观表示。我能想到的另一个例子是任何任务的完成进度。您可以显示漂亮的彩色进度条,而不是显示10%,20%,30%已完成的值:)
希望这有帮助。