私を悲惨な状態から解放してください:
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsEnabled" Value="{Binding MyBoolField}" />
</Style>
</ListView.ItemContainerStyle>
の割り当てられMyBoolField
た各アイテムで使用可能なプロパティはどこにあり、もちろんタイプです。ListView
ItemsSource
bool
望ましい動作は、IsEnabled
それぞれのプロパティが含まれるオブジェクトListViewItem
のプロパティにバインドされることです (のMyBoolField
要素)。ただし、上記の例では、このバインディングに注意を払っておらず、常に.ListView
ItemsSource
true
値をfalse
静的に設定すると、期待どおりに項目が無効になります。
これはスコープの問題、またはこの特定のシナリオでのバインディングの使用に関する制限であるとしか考えられませんが、これをサポートするドキュメントを見つけることができません。
DataTemplate
おそらく、割り当てられた thisに設定されたバインディングがすべて正常に機能することを知っておくと便利ですListView
。ItemTemplate
したがって、問題がそれほど基本的/愚かではないことを願っています。
コメントのポイント
- デバッグの「出力」ウィンドウに関連する出力がありません。
- 基になるデータ ソースがブール値を正しく提供しているため、プロパティを別の場所にバインドして
MyBoolField
も問題なく機能します。これは、このコンテキストでバインドすることだけの問題のようです。