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