2010-10-27 71 views
4

我的CollectionViewSourceItemsSource我的DataGrid。在Window.Resources我有这样的定义:CollectionViewSource上的集合绑定来源属性

<CollectionViewSource x:Key="ItemsPoolCollectionView" 
    Source="{Binding Path=MyObservableCollection, Mode=OneWay}" /> 

现在,我想以从代码相同的定义,所以我这样做:

Dim _cvs as CollectionViewSource = New CollectionViewSource 
Dim bindSource = New Binding() With { 
     .Path = New PropertyPath("MyObservableCollection"), 
     .Mode = BindingMode.OneWay } 
_cvs.SetValue(CollectionViewSource.SourceProperty, bindSource) 

,但我已经在过去的这个错误声明:

'System.Windows.Data.Binding' is not a valid value for property 'Source' 

有什么不对?我怎样才能做到这一点?

回答

3

我解决! ...通过这种方式:

+0

它也帮助我。谢谢。 – 2014-12-27 10:15:10

1

您不需要绑定CollectionViewSource以使其自动“绑定”;刚刚设置的来源属性的值直接:

Dim _cvs as CollectionViewSource = New CollectionViewSource 
_cvs.Source = Me.MyObservableCollection 

(对不起我的生锈VB.net)

欲了解更多信息,请参阅下面的论坛帖子: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/f44df11b-dfa8-4173-bbc8-051875fce4cc

+0

我尝试它的工作原理...但如果我更改datacontext上的“MyObservebleCollection”(清除,添加或删除项目)collectionviewsource似乎失去了源关联。 – 2010-10-27 09:55:00

相关问题