WPF数据网格允许用户添加行?
Posted
技术标签:
【中文标题】WPF数据网格允许用户添加行?【英文标题】:WPF datagrid allow user to add rows? 【发布时间】: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 列出的条件有关。
【问题讨论】:
【参考方案1】:发现问题。我的 ObservableCollection 对象中的构造函数未声明为 public。
*击中头部*
感谢您的宝贵时间。
【讨论】:
【参考方案2】:确保 ObeservableCollection 中的对象具有默认的无参数构造函数。
【讨论】:
而且我猜这是不可能的接口类型的集合.. (?) 有时候一句话就够了:)【参考方案3】:新的空白行将取决于您要绑定的集合是否实现了 IEditableCollectionView。见here。话虽如此,我发现有时它运行良好,而有时它似乎无法解释,但 IEditableCollectionView 是一个开始
【讨论】:
根据您提供的链接,ObservableCollection 已经实现了 IEditableCollectionView。至少是这样解释的。 虽然,根据msdn.microsoft.com/en-us/library/ms668604.aspx 它没有。感谢您的提示。以上是关于WPF数据网格允许用户添加行?的主要内容,如果未能解决你的问题,请参考以下文章