Silverlight DataGrid以编程方式设置单元格ReadOnly

时间:2010-03-29 21:06:07

标签: silverlight datagrid binding

我将数据网格绑定到Task对象的集合。特定列需要一些与编辑有关的特殊规则:

<!--Percent Complete-->
<data:DataGridTextColumn Header="%" 
                         ElementStyle="{StaticResource RightAlignStyle}" 
                         Binding="{Binding PercentComplete, Mode=TwoWay, Converter={StaticResource PercentConverter}}" />

我想要做的是仅根据实际Task对象上的属性为每个任务的完成百分比单元设置IsReadOnly属性。我试过这个:

<!--Percent Complete-->
<data:DataGridTextColumn Header="%" 
                         ElementStyle="{StaticResource RightAlignStyle}" 
                         Binding="{Binding PercentComplete, Mode=TwoWay, Converter={StaticResource PercentConverter}}"
                         IsReadOnly={Binding IsNotLocalID} />

但显然您无法绑定到数据网格列上的IsReadOnly属性。做我想做的最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

我认为你不能直接绑定到这个。我已经为Silverlight找到了这个扩展的DataGrid,尽管如此。

Extended DataGrid

答案 1 :(得分:0)

看起来DataGridColumn.IsReadOnly PropertyDependencyProperty所以它应该是可绑定的。将您的XAML更改为IsReadOnly="{Binding IsNotLocalID}"(注意添加的引号),看看会发生什么。您是否在Visual Studio输出窗口中收到任何绑定失败?