gpt4 book ai didi

c# - TextChanged/LostFocus/等。 DataGridTextColumn 事件

转载 作者:行者123 更新时间:2023-11-30 15:11:42 26 4
gpt4 key购买 nike

我有一个绑定(bind)到 WPF 页面中的 DataGrid 的对象列表,如果在特定列中输入的值小于某个值,我希望在当前对象之后直接添加一个对象数。

<my:DataGridTextColumn Binding="{Binding Path=Hours}"/>

我这辈子都想不出如何绑定(bind)到底层 TextBox 上的事件。各种站点都提到了执行此操作的能力,但没有一个站点提供相关代码。现在我一直在使用 DataGridTemplateColumn 和里面的 TextBox 但我似乎无法通过该解决方案获取当前行。

最佳答案

为了实现这一点,我在数据网格本身上使用了 CellEditEnding 事件。

this.TheGrid.CellEditEnding += new EventHandler<DataGridCellEditEndingEventArgs>(TheGrid_CellEditEnding);

在该方法中,您可以使用 Dispatcher 来延迟对方法的调用,以便将值存储回绑定(bind)对象中。

private void TheGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
Dispatcher.BeginInvoke(new Action(this.CellEdited));
}

您还可以将 DataGridCellEditEndingEventArgs 传递给该方法,以允许您检查与底层 TextBox 一起编辑的单元格的行和列。

此外,由于数据网格与对象有关,因此行索引不太相关,因此不容易获得(我能找到)。

关于c# - TextChanged/LostFocus/等。 DataGridTextColumn 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2094615/

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