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