【问题标题】:Editing ObservableDictionary via DataGrid通过 DataGrid 编辑 ObservableDictionary
【发布时间】:2011-01-20 12:28:37
【问题描述】:

我将 ObservableDictionary 绑定到 DataGrid.ItemSource 。 我的问题是当我尝试通过数据网格编辑值时。 我收到异常“此视图不允许 Edititem”。 我尝试了不同的解决方案 - 例如将 ObservableDictionary.Values.ToList 绑定到数据网格 - 这使得可以编辑项目但不再绑定原始值集合。

那么,我如何将 ObservableDictionary 绑定到 DataGrid 并且我仍然保持它可编辑。 非常感谢你!

【问题讨论】:

  • 嗨,您使用自动生成列吗? ObservableDictionary 是来自 codeplex 的吗?一些代码示例会有所帮助:)。

标签: c# wpf datagrid binding


【解决方案1】:

最近在尝试做基本相同的事情时,我遇到了ObservableKeyedCollection。它需要将密钥存储在项目类中(顺便说一下,这是ObservableDictionary 的麻烦来源 - 它使用KeyValuePair<> 结构进行枚举,并且该结构不可编辑),但与DataGrid,允许它编辑项目。

【讨论】:

    【解决方案2】:

    您可能会发现以下内容很有帮助:

    使用编辑命令 默认命令已添加到 DataGrid 以支持编辑。这些命令及其默认输入绑定是:

    • · BeginEditCommand (F2)·

    • CancelEditCommand (Esc)·

    • CommitEditCommand(回车)·

    • DeleteCommand(删除)

    整篇博文在这里: http://blogs.msdn.com/b/vinsibal/archive/2008/10/01/overview-of-the-editing-features-in-the-wpf-datagrid.aspx

    【讨论】:

      猜你喜欢
      • 2011-11-10
      • 2015-09-02
      • 2016-01-12
      • 2010-09-13
      • 1970-01-01
      • 2020-08-27
      • 2013-02-20
      • 2011-08-23
      • 2011-09-14
      相关资源
      最近更新 更多