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

时间:2013-04-16 17:59:09

标签: silverlight windows-phone-7 windows-phone datatrigger stackpanel

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

我以为我可以使用DataTrigger,但我在某处读到WP7不支持它们,因为WP7支持Silverlight 3及更高版本。

我正在寻找建议。我很抱歉这似乎太主观了,希望有人能为这种情况做最佳实践。

1 个答案:

答案 0 :(得分:1)

您应该考虑使用基于项目的DataContext返回SolidColorBrush的ValueConverter。

查看Tim的博客,了解代码示例和详细说明。

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

希望这有帮助。

来自家庭开发的代码