2010-01-13 45 views
23

我想我的WPF Datagrid綁定到我的可觀察集合底部有一個空行,以便用戶可以添加更多信息。我已經成功綁定了數據,即我可以看到它。WPF數據網格允許用戶添加行?

爲什麼'新'空行沒有顯示?這是我的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有關。

回答

33

發現問題。我的ObservableCollection的一部分對象中的構造函數沒有被公開。

* Hits head *

謝謝你的時間。

+8

也給我節省了一些時間。請注意,您需要一個無參數構造函數... – Jobo 2013-02-22 12:14:48

4

新的空白行將取決於您綁定的集合是否實現了IEditableCollectionView。見here。這是說我發現有時它運作良好,其他時間無法解釋似乎不是,但IEditableCollectionView是一個開始

+0

根據您提供的鏈接,ObservableCollection已經實現了IEditableCollectionView。至少這是如何解釋它。 – 2010-01-14 17:16:03

+1

雖然,根據http://msdn.microsoft.com/en-us/library/ms668604.aspx它沒有。謝謝你的提示。 – 2010-01-14 18:37:54

13

確保您的ObeservableCollection中的對象具有默認的無參數構造函數。

相關問題