Я привязываю сетку данных к коллекции объектов Task. Конкретная колонка нуждается в некоторых специальных правил, касающихся редактирования:Silverlight DataGrid устанавливает ячейку IsReadOnly программно
<!--Percent Complete-->
<data:DataGridTextColumn Header="%"
ElementStyle="{StaticResource RightAlignStyle}"
Binding="{Binding PercentComplete, Mode=TwoWay, Converter={StaticResource PercentConverter}}" />
То, что я хочу сделать, это установить IsReadOnly свойство только для процентов полной ячейки для каждой задачи на основе собственности на реальный объект Task. Я попытался это:
<!--Percent Complete-->
<data:DataGridTextColumn Header="%"
ElementStyle="{StaticResource RightAlignStyle}"
Binding="{Binding PercentComplete, Mode=TwoWay, Converter={StaticResource PercentConverter}}"
IsReadOnly={Binding IsNotLocalID} />
, но, по-видимому, вы не можете привязать к IsReadOnly собственности на колонке сетки данных. Каков наилучший способ сделать то, что я пытаюсь сделать?
Ах, я на Silverlight 3, не Silverlight 4. –
DataGrid довольно старой кодовый, как идет Silverlight, и многие из его свойств не являются свойствами зависимостей. В частности, IsReadOnly в базовом классе DataGridBoundColumn не является свойством зависимостей. У меня это есть на хорошем уровне у менеджера программ для DataGrid. Я также сразу спросил его, когда кодовая база будет обновлена, и он отказался от комментариев. –
Питер, у меня точно такая же проблема. IsReadOnly определенно не является зависимостью. Я пытаюсь создать свой собственный метод обхода и все равно не работаю. У вас есть рабочий пример для этого? благодаря – Houman