如何禁用某些DataGrid单元格

时间:2013-12-03 10:24:14

标签: c# wpf

我使用DataGrid在我的WPF应用程序中显示一些数据。

如何禁用细胞?

2 个答案:

答案 0 :(得分:1)

有几种方法可以实现这一点,但您可以设置RowLoaded事件,在这种情况下,您应该获得一个单元格集合。在这里,您可以将其设置为ReadOnly,也可以禁用。我对WPF中的这一点并不是100%肯定,但它在Silverlight中工作得很好。

答案 1 :(得分:0)

在列级别,设置IsReadOnly Property。

在单元格级别,您需要在DataTemplate上使用DataGridTemplateColumn和TextBox。

<DataGrid.Columns>
    <!--Column level - all column its "read only"-->
    <DataGridTextColumn Binding="{Binding AAA}"  IsReadOnly="True" />

    <!--Cell level - Cell its "read only" Depending data bindings -->
    <DataGridTemplateColumn >
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBox Text="{Binding BBB.CCC}" IsReadOnly="{Binding BBB.AllowEdit}" />
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>

</DataGrid.Columns>