WPF DataGridTextColumn列如何让其中的单元格不可编辑
代码是 <DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="NAME" Width="*" Binding="{Binding Name}">
<DataGridTextColumn Header="TYPE" Width="*" Binding="{Binding Type}"/>
<DataGridTextColumn Header="VALUE" Width="*" Binding="{Binding Value}"/>
<DataGridTextColumn Header="RANGE" Width="*" Binding="{Binding Range}"/>
</DataGrid>
</DataGrid.Columns>想各位大侠都懂...就是想去掉NAME TYPE RANGE列的编辑功能,让它们不能被编辑,只保留下VALUE列,让此列下的单元格可以输入文本,应该怎么搞?
求教!!!!!!
wpf
datagrid
------解决方案--------------------刚自己试了下。确实有问题。然后再MSDN查了下貌似是说DataGridTextColumn这个控件不是一个真正的Visual所以IsReadOnly的属性绑定没用。所以我这边稍微改了下用DataGridTemplateColumn代替。你试下这个替换掉<DataGridTextColumn Header="VALUE" Width="*" Binding="{Binding Value}" IsReadOnly="{Binding Type, Converter={StaticResource Type2Bool}}"/>这行。
<DataGridTemplateColumn Header="VALUE" Width="*" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox IsReadOnly="{Binding Type,Converter={StaticResource type2Bool}}" Text="{Binding Value}" BorderThickness="0" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>