【问题标题】:Wpf DataGrid - Adding new rows only when I want themWpf DataGrid - 仅在需要时添加新行
【发布时间】:2011-04-16 01:55:33
【问题描述】:

我有一个包含两列 a 和 b 的数据网格。 b列代表一个百分比。

我想在开头有一个可编辑的行,并让它们填写 a 和 b 列。

如果 b 列小于 100%,我想添加一个新的可编辑行。当总百分比小于 100% 时,我想总是添加一个新行。

关于如何做到这一点的任何想法(使用 MVVM)?

数据网格绑定到 ObservableCollection。

【问题讨论】:

    标签: wpf datagrid


    【解决方案1】:

    首先想到的是在 ViewModel 中完全处理这个问题。您可以收听 ObservableCollection 的 CollectionChanged,如果添加了一个项目,则总结 B 列,如果总和低于 100%,则向 Observable-collection 添加一个新项目。

    如果您想支持编辑集合中的现有项目,也是如此。监听item的PropertyChanged事件,如果B列发生变化,对B列求和,决定是否需要新的item。

    如果您需要一些示例代码,请告诉我。

    【讨论】:

    • 非常感谢 Tendlon 的帮助。我已经尝试了与此非常相似的方法,但是我遇到了 propertychanged 通知的问题。我在将第一项添加到集合之前附加了事件处理程序,因此它没有在监听。你的帖子足以让我意识到我的方法是正确的,我只是错过了一步。谢谢老哥
    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多