gpt4 book ai didi

c# - 绑定(bind) UI 元素不通过 Itemsource 中的更改值刷新

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:59 24 4
gpt4 key购买 nike

我是 wpf 和 c# 编程新手。我有一个数据网格的小问题。网格绑定(bind)在 EF 表上。

我可以查看和更改所有字段并将更改保存到数据库中。问题是。当我通过 context.savechanges 将数据保存到 SQL 数据库时,SQL-Server-Table 上的触发器修改了记录中的某些字段。

当在保存命令后重新加载当前项目的实体时,我可以在我的实体中看到修改后的数据,但在我的 UI 中看不到。我必须制作 datagrid.items.refresh 才能看到更改。但是刷新性能不佳,我松开了当前的单元格位置。我需要一种方法,在 UI 中的字段更改后,将 SQL-Server 对当前记录的任何更改动态推送到 UI。

有人有什么想法吗?

在窗口上的简单文本框元素中,我可以使用 BindingExpression 通过 binding.UpdateTarget 推送更改。但在 DatagridTextColumn 中是不可能的。

最佳答案

你的实体类应该实现 INotifyPropertyChanged接口(interface)并在数据绑定(bind)属性设置为新值时引发更改通知。

如果您使用自动生成的实体类,则需要修改生成这些实体类的模板:

How to get property change notifications with EF 4.x DbContext generator

或者您可以绑定(bind)到您自己实现此接口(interface)的包装类:

Implement INotifyPropertyChanged on generated Entity Framework classes

关于c# - 绑定(bind) UI 元素不通过 Itemsource 中的更改值刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46195566/

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