我有一个数据网格,当用户单击数据网格上的任何单元格时,我想在其中禁用在底部创建的新行。我只想要默认的行为,当按下回车键时在底部添加空白行。
这是我的Datagrid:
<custom:CustomDataGrid ItemsSource="{Binding Items}"
AutoGenerateColumns="False"
RowHeight="27"
Grid.Row="1"
SelectionUnit="CellOrRowHeader"
RowHeaderWidth="30"
CanUserAddRows="true">
<custom:CustomDataGrid.Columns>
<custom:CustomDataGridTextColumn Header="Product Name"
Binding="{Binding ProductName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Width="250" />
<custom:CustomDataGridTextColumn Header="Unit Price"
Binding="{Binding UnitPrice,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Width="130" />
<custom:CustomDataGridTextColumn Header="Qty"
Binding="{Binding Quantity,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Width="130" />
<custom:CustomDataGridTextColumn Header="Amount"
Binding="{Binding Amount,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Width="130"
IsLastEditableColumn="True" />
</custom:CustomDataGrid.Columns>
</custom:CustomDataGrid>
当用户在数据网格上选择其他单元格时,如何防止将空白行添加到数据网格
最佳答案
为了防止添加空白行,可以将CanUserAddRows
上的DataGrid
属性设置为false。
为了仍然能够添加行,您可以处理一个键事件(例如KeyDown
等),以向Items
添加一个空/默认产品,并在按下Enter键时将焦点设置到新项中的第一个可编辑列上。
关于c# - 防止在数据网格上添加空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25058124/