gpt4 book ai didi

c# - 更新 DataGrid 的 ItemsSource 中的单个项目

转载 作者:行者123 更新时间:2023-11-30 16:30:54 25 4
gpt4 key购买 nike

我有一个简单的问题,可能有一个简单的答案。我有一个显示一些项目的 DataGrid。我希望像这样更新其中一项:

var old = (SomeClass)grid.SelectedItem;
var newItem = new SomeClass(...);
old = newItem;
//grid.Items.Refresh();

首先,示例中的代码很简单,但这是重要的一点(真正的问题是通过 Linq2Sql 更新对象,然后将旧对象设置为更新后的对象)。

无论如何,我希望对 Items.Refresh 的调用会更新网格的 UI,但事实并非如此。关于 DataGrid 如何缓存其 ItemsSource 元素,我当然遗漏了一些东西,但我想这是一个非常常见的场景。有什么想法吗?

最佳答案

您需要获取网格的 ItemSource 并更新 ItemsSource 中的正确项目。现在您正在复制所选项目并对其进行更新,因此它什么都不做。

我不确定确切的语法,但你会想要类似的东西

((IEnumerable)grid.ItemsSource)[grid.SelectedIndex] = newItem;  

关于c# - 更新 DataGrid 的 ItemsSource 中的单个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5269279/

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