gpt4 book ai didi

.net - 使用绑定(bind)以声明方式在 WPF 中指定和显示 DataGrid 的列?

转载 作者:行者123 更新时间:2023-12-02 02:35:48 26 4
gpt4 key购买 nike

有没有一种方法可以使用绑定(bind)以声明方式指定 DataGrid 列? (并使用此绑定(bind)设置列的属性?)理想情况下,我会有一个对象列表(例如行)数据绑定(bind)到 ItemsSource,它们的属性之一将是具有名称和值的字典(或某个类或其他对象的列表)。我希望 DataGrid 能够自动创建这些额外的列,而无需隐藏一些代码。这可能吗?或者您将如何解决这个问题?

保存额外值的数组可以随时间变化,但对于列表中的所有项目都是相同的。

可以(并且干净)为 DataGrid 提供一个不同的列表,只是为了从中创建列。但为此我需要像 ColumnsSource 之类的东西......

我唯一能想到的就是创建 DataGrid 的子类...

有什么想法吗?

编辑:重点是在没有任何代码的情况下实现这一目标......

最佳答案

冒着听起来有争议的风险......

我认为这是一个示例,其中 View 确实需要一点代码“提升”,并且可以将“无代码隐藏”准则放在一边 - 只要您记得将您的关注点分开.

过去,我通过从 ViewModel 中获取相关数据并在代码隐藏中编写类似于 Partial 的答案的“BuildDataGrid”方法来动态创建 DataGrid 控件。我相信这是合理的,因为代码纯粹是为了补充 View ,我并没有通过让它实现业务规则来混合关注 - 它只是将列放在一起,并根据需要创建列绑定(bind)。

但如果保持代码隐藏清洁更重要,那么我会建议您最初的想法,即创建用户控件并使用 DP 对控件进行“子类化”。

关于.net - 使用绑定(bind)以声明方式在 WPF 中指定和显示 DataGrid 的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1863200/

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