如果创建对IsReadOnlyDataGridTextColumn属性的绑定(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>

09-19 19:24