如果创建对IsReadOnly
的DataGridTextColumn
属性的绑定(bind),则不会实现。如果我通过标记进行设置,那么它将起作用。
<DataGridTextColumn IsReadOnly="{Binding IsReferenceInactive}"/> <!-- NOP -->
<DataGridTextColumn IsReadOnly="True"/> <!-- Works as expected, cell is r/o -->
IsReferenceInactive
属性是一个DP,可以正常工作(出于测试目的,我将其绑定(bind)到一个复选框,可以正常工作)这是已知限制吗?
更新
除了我写的,Uups在输出窗口中还有一条消息:
似乎是这个:
http://connect.microsoft.com/VisualStudio/feedback/details/530280/wpf-4-vs2010-datagrid-isreadonly-does-not-work-with-binding-to-boolean-property
最佳答案
与codekaizen相同,但更简单:
<DataGridTextColumn>
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="UIElement.IsEnabled" Value="{Binding IsEditable}" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>