【问题标题】:WPF datagrid allow user to add rows?WPF数据网格允许用户添加行?
【发布时间】:2011-01-04 19:50:42
【问题描述】:

我希望绑定到我的可观察集合的 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}">

PS:我正在使用Josh Smith's MVVM implementation。我也读过一些关于这个问题的 SO posts 而they 没有helped。

提前致谢。

2010-01-14 更新:

当用户控件加载事件发生时,“CanUserAdddRows”为假。我怀疑这与here 列出的条件有关。

【问题讨论】:

    标签: c# wpf datagrid mvvm


    【解决方案1】:

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

    *击中头部*

    感谢您的宝贵时间。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 而且我猜这是不可能的接口类型的集合.. (?)
      • 有时候一句话就够了:)
      【解决方案3】:

      新的空白行将取决于您要绑定的集合是否实现了 IEditableCollectionView。见here。话虽如此,我发现有时它运行良好,而有时它似乎无法解释,但 IEditableCollectionView 是一个开始

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      相关资源
      最近更新 更多