代码之家  ›  专栏  ›  技术社区  ›  JP Richardson

WPF数据报允许用户添加行?

  •  25
  • JP Richardson  · 技术社区  · 15 年前

    我希望我的WPF DATAGRID绑定到我的可观察的集合,在底部有一个空白行,这样用户就可以添加更多的信息。我已经成功地绑定了数据,也就是说,我可以看到它。

    为什么没有显示“新”空白行?这是我的XAML声明:

    <UserControl.Resources>
      <CollectionViewSource x:Key="MyItems" Source="{Binding Path=AllItems}">
      </CollectionViewSource>
    </UserControl.Resource>
    
    <my:DataGrid HorizontalAlignment="Stretch"
      AutoGenerateColumns="True"
      SelectionUnit="FullRow"
      CanUserAddRows="True"
      CanUserDeleteRows="True"
      DataContext="{StaticResource MyItems}"
      ItemsSource="{Binding}">
    

    我正在使用 Josh Smith's MVVM implementation . 我也读过一些这样的书 posts 关于这个问题和 they 没有 helped .

    事先谢谢。

    更新2010-01-14:

    当发生UserControl加载事件时,“CanUserAddDrows”为假。我怀疑这与所列条件有关 here .

    3 回复  |  直到 11 年前
        1
  •  36
  •   JP Richardson    15 年前

    发现了问题。对象中属于ObservableCollection的构造函数未声明为public。

    *击中头部*

    谢谢你抽出时间。

        2
  •  16
  •   bartonm    11 年前

    确保obeservableCollection中的对象具有默认的无参数构造函数。

        3
  •  4
  •   Aran Mulholland JohnnyAce    15 年前

    新的空白行将取决于所绑定的集合是否实现IEditableCollectionView。看见 here . 尽管如此,我发现有时它工作得很好,而其他时候却无法解释,但IEditableCollectionView是一个开始。