wpf datagrid 增加行
时间: 2025-05-05 12:39:13 浏览: 27
### 如何在WPF DataGrid中增加行
为了向 `DataGrid` 添加新行,通常会操作绑定到 `DataGrid.ItemsSource` 属性的数据源。由于不能直接放置任意内容并期望它创建集合[^1],因此推荐的方法是通过更新数据源来实现新增行的功能。
下面是一个简单的例子,展示如何使用C#代码动态地往 `DataGrid` 中添加新的记录:
```csharp
// 假设有一个名为 Products 的 ObservableCollection 类型属性作为 ItemsSource 绑定目标
public partial class MainWindow : Window {
public ObservableCollection<Product> Products { get; set; }
public MainWindow() {
InitializeComponent();
// 初始化产品列表,并将其设置为 DataGrid 的数据上下文
Products = new ObservableCollection<Product>();
this.DataContext = this;
}
private void AddProductButton_Click(object sender, RoutedEventArgs e) {
// 创建新产品实例并向观察集合中添加该对象
var product = new Product { Name = "New Item", UnitPrice = 9.99 };
Products.Add(product);
}
}
// 定义一个简单的产品类用于表示每一项商品的信息
public class Product {
public string Name { get; set; }
public double UnitPrice { get; set; }
}
```
在这个案例里,每当点击按钮时就会触发事件处理器,在其中创建一个新的 `Product` 对象并将之加入到 `ObservableCollection<Product>` 集合当中。因为 `ObservableCollection<T>` 实现了 `INotifyCollectionChanged` 接口,所以当集合发生变化时能够自动通知 UI 进行刷新显示变化后的最新状态。
此外,如果想要利用表达式计算列(比如税费),可以像这样定义一列的表达式[^2]:
```csharp
dataSet.Tables["Products"].Columns.Add("Tax", typeof(decimal), "UnitPrice * 0.086");
```
这将在表格中添加一个名为 “Tax”的只读列,其值基于单价乘以固定税率得出的结果自动生成。
阅读全文
相关推荐


















