c# - 防止在数据网格上添加空白行

标签 c# wpf mvvm datagrid

我有一个数据网格,当用户单击数据网格上的任何单元格时,我想在其中禁用在底部创建的新行。我只想要默认的行为,当按下回车键时在底部添加空白行。

这是我的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/

相关文章:

c# - 在发生之前拦截Blazor服务器端路由/导航

C# 或 C++ 沙盒程序集

wpf - 在 WPF 中裁剪图像

WPF:角色走过屏幕动画?

silverlight - 在运行时动态指定和更改 Silverlight DataGrid 的列 (MVVM)

c# - 为什么这个 DateTime 解析总是失败?

c# - 找不到适合类型 'RestDataService' 的构造函数

c# - WPF 中的自动数据更新

c# - 触摸按钮即可从文本框中更改值

wpf - 在 "old"DataContext 中调用 RelayCommand