C# 如何禁用某些DataGrid单元格
我正在使用DataGrid在WPF应用程序中显示一些数据C# 如何禁用某些DataGrid单元格,c#,wpf,C#,Wpf,我正在使用DataGrid在WPF应用程序中显示一些数据 如何禁用单元格?有几种方法可以实现这一点,但您可以设置RowLoaded事件,在这种情况下,您应该获得单元格集合。在这里,您可以将其设置为只读,也可以将其禁用。我不能在WPF中100%确定这一点,但它在Silverlight中运行良好。在列级别,设置IsReadOnly属性 在单元格级别,需要DataGridTemplateColumn和DataTemplate上的TextBox <DataGrid.Columns>
如何禁用单元格?有几种方法可以实现这一点,但您可以设置RowLoaded事件,在这种情况下,您应该获得单元格集合。在这里,您可以将其设置为只读,也可以将其禁用。我不能在WPF中100%确定这一点,但它在Silverlight中运行良好。在列级别,设置IsReadOnly属性 在单元格级别,需要DataGridTemplateColumn和DataTemplate上的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>
我不明白你说BBB是什么意思。对不起,我只是个乞丐。这只是一个例子。如果您希望单元格可以根据行本身(源行-DataContext)中的信息进行编辑,那么我设想了一种情况,您可以创建一个名为BBB的属性行,它还包含一个字符串(CCC)和一个名为“AllowEdit”的布尔字段,用于确定单元格是否可以编辑。