.Net v4 DataGridTextColumn. IsReadOnly, кажется, является дефектным

Если я создаю привязку к IsReadOnly свойство DataGridTextColumn, это не реализовывает. Если я установил его через разметку, это работает.

  

 

IsReferenceInactive свойство является DP и хорошо работает (Для тестирования, я связал его с флажком, который работал),

Действительно ли это - известное ограничение?

Обновление

Uups, кроме я записал, в окне вывода существует сообщение:

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=IsReferenceInactive; DataItem=null; target element is 'DataGridTextColumn' (HashCode=23836176); target property is 'IsReadOnly' (type 'Boolean')

Кажется, этот:

http://connect.microsoft.com/VisualStudio/feedback/details/530280/wpf-4-vs2010-datagrid-isreadonly-does-not-work-with-binding-to-boolean-property

25
задан codekaizen 11 July 2010 в 11:28
поделиться

1 ответ

DataGridColumnы не являются частью визуального дерева и не участвуют в подобном связывании. Я обхожу эту проблему, используя DataGridTemplateColumn.

<DataGridTemplateColumn>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=myProperty}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <TextBox IsEnabled="{Binding Path=myBool}" Text="{Binding Path=myProperty, Mode=TwoWay}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

Есть и другие обходные пути, которые мне показались слишком хакерскими, но они работают; а именно: http://blogs.msdn.com/b/jaimer/archive/2008/11/22/forwarding-the-datagrid-s-datacontext-to-its-columns.aspx

16
ответ дан 28 November 2019 в 20:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: