如何使XAML样式覆盖绑定?

时间:2012-10-03 07:03:03

标签: silverlight windows-runtime

此问题适用于WinRT,但也适用于Silverlight。假设我已经对ListView / ListBox的Background属性进行了数据绑定,但我希望仅在应用特定主题时才能使用该数据绑定。我使用Merged Dictionaries的XAML样式实现了主题。当应用不同的主题时,我希望它由样式静态定义。

有没有办法只使用XAML来实现这个目标?

我尝试在ListView标签本身的“背景”之后放置“样式”属性,以查看属性的顺序是否重要,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:0)

Nilzor -

这似乎是您使用自定义转换器的地方。这样,当绑定发生时,您可以运行逻辑测试和任意代码来返回绑定可接受的值。

WinRT项目附带了一个自定义转换器的示例,我相信它名为BooleanToVisibility Converter。

对于记录:这不需要是转换(即绑定对象是bool,转换为Visibility并将其返回到Visibility属性)它可以是逻辑测试 - 绑定对象是XYZ派生自ABC& ;如果XYZ.Parent.SomeProperty == someValue返回不同​​的ABC。

这是用于创建/实现它们的堆栈溢出链接: Binding to a property of a custom converter