请让我摆脱痛苦:
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsEnabled" Value="{Binding MyBoolField}" />
</Style>
</ListView.ItemContainerStyle>
whereMyBoolField
是ListView
'sassigned中每个项目的可用属性ItemsSource
,当然是类型bool
。
期望的行为是IsEnabled
每个的属性都ListViewItem
绑定到MyBoolField
它包含的对象的属性(来自ListView
's的元素ItemsSource
)。然而,上面的例子没有注意这个绑定并且总是true
.
如果我将值设置为false
静态,则该项目将按预期禁用。
我只能假设这是范围界定问题,或在此特定场景中限制使用绑定,但是我无法找到任何文档来支持这一点。
也许知道在DataTemplate
分配给 thisListView
的ItemTemplate
所有工作中设置的绑定是有用的,所以希望问题不是那么基本/愚蠢。
评论中的要点
- 调试“输出”窗口中没有相关输出。
- 在其他地方绑定
MyBoolField
属性可以正常工作,因为底层数据源正确地提供了一个布尔值,这似乎只是在这种情况下绑定它的问题。