在Windows Phone 7中动态绑定样式到StackPanel



我有一个ListBox,其中包含一个StackPanel,其中包含用于绑定的元素。基于一个值,例如' expired ' = true, StackPanel的样式和下面的一些元素应该改变。每个项目之间唯一的区别是StackPanel的背景和两个TextBlock的前景会发生变化。我想过为每个人创建一个单独的模板,但有20个选项,这似乎有点小题大做。我有一个SolidColorBrush设置为每一个20项。

我以为我可以使用数据触发器,但我在某个地方读到WP7不支持它们,因为WP7支持Silverlight 3及更高版本。

我在寻求建议。我很抱歉,这可能看起来太主观了,希望有人能提供这种情况下的最佳实践。

你应该考虑使用ValueConverter,根据项目的DataContext返回SolidColorBrush。

看一下Tim的博客,有代码示例和详细的解释。

http://timheuer.com/blog/archive/2008/07/30/format-data-in-silverlight-databinding-valueconverter.aspx

希望对你有帮助。

Code From Home Dev

最新更新