我一直在使用Flex进行Flash开发,而Flex中的数据绑定真的非常强大。
现在我正在开展一个Silverlight项目。我只想将控件属性绑定到另一个或多个属性的表达式上。例如:
<Button Name="myButton" Background="{Binding myButton.IsEnabled ? #AABBCC : #DDEEFF}" />
这是一个非常简单且常见的案例。当按钮启用时,我只想让
myButton.Background
为#AABBCC
,禁用时为#DDEEFF
。当然,我还希望将我的Background
属性绑定到其他控件的多个属性上。在Flex中,这非常简单。但我不知道如何在Silverlight中实现。
谢谢。
Peter 2012年1月3日的编辑:
在Silverlight 5发布和上述美好文章之后,我的需求可以通过转换器(继承
MarkupExtension
并实现IMultiValueConverter
)来完成。
http://www.codeproject.com/KB/silverlight/SilverlightMultiBinding.aspx
IsEnabledChanged
事件的处理程序。 - Peter Lee