此问题适用于WinRT,但也适用于Silverlight。假设我已经对ListView / ListBox的Background属性进行了数据绑定,但我希望仅在应用特定主题时才能使用该数据绑定。我使用Merged Dictionaries的XAML样式实现了主题。当应用不同的主题时,我希望它由样式静态定义。
有没有办法只使用XAML来实现这个目标?
我尝试在ListView标签本身的“背景”之后放置“样式”属性,以查看属性的顺序是否重要,但似乎没有任何效果。
答案 0 :(得分:0)
Nilzor -
这似乎是您使用自定义转换器的地方。这样,当绑定发生时,您可以运行逻辑测试和任意代码来返回绑定可接受的值。
WinRT项目附带了一个自定义转换器的示例,我相信它名为BooleanToVisibility Converter。
对于记录:这不需要是转换(即绑定对象是bool,转换为Visibility并将其返回到Visibility属性)它可以是逻辑测试 - 绑定对象是XYZ派生自ABC& ;如果XYZ.Parent.SomeProperty == someValue返回不同的ABC。
这是用于创建/实现它们的堆栈溢出链接: Binding to a property of a custom converter