gpt4 book ai didi

c# - 在 CurrentCellChanged 上获取 WPF DataGrid 的单元格内容

转载 作者:行者123 更新时间:2023-11-30 14:13:57 27 4
gpt4 key购买 nike

我有一个 WPF DataGrid。我想在用户编辑后获取 cell 值。 DataGrid 已经填充了数据。用户可以编辑以前的数据。为了保存数据,我想从 event handler

获取 cell 数据

给我一​​个简单的代码来完成它。建议一个事件处理程序

最佳答案

您可以使用 CellEditEnding 事件在用户编辑单元格时得到通知。

这个简单的程序说明了这一点:

XAML

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="MainWindow" Height="500" Width="500">
<Grid>
<DataGrid x:Name="grid" CellEditEnding="cellEditEnding" />
</Grid>
</Window>

代码隐藏

public partial class MainWindow : Window
{
public class MyClass
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string Prop3 { get; set; }
}

public MainWindow()
{
InitializeComponent();

var objects = new[]
{
new MyClass { Prop1 = "Object1", Prop2 = "Test1", Prop3 = "Hello" },
new MyClass { Prop1 = "Object2", Prop2 = "Test2", Prop3 = "Goodbye" },
new MyClass { Prop1 = "Object3", Prop2 = "Test3", Prop3 = "Welcome" }
};

grid.ItemsSource = objects;
}

private void cellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
//Only handles cases where the cell contains a TextBox
var editedTextbox = e.EditingElement as TextBox;

if (editedTextbox != null)
MessageBox.Show("Value after edit: " + editedTextbox.Text);
}
}

关于c# - 在 CurrentCellChanged 上获取 WPF DataGrid 的单元格内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069845/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com