C# 绑定到ObservableCollection可以工作,但不能绑定到ListCollectionView

C# 绑定到ObservableCollection可以工作,但不能绑定到ListCollectionView,c#,wpf,observablecollection,listcollectionview,C#,Wpf,Observablecollection,Listcollectionview,我正在尝试将我的ListCollectionView绑定到组合框。然而,它似乎只有在绑定到我的ObservableCollection时才起作用 特性: private ListCollectionView sitesView; public ListCollectionView SitesView { get { return sitesView; } set { sitesView = value;

我正在尝试将我的
ListCollectionView
绑定到组合框。然而,它似乎只有在绑定到我的
ObservableCollection
时才起作用

特性:

private ListCollectionView sitesView;
public ListCollectionView SitesView
{
        get { return sitesView; }
        set
        {
            sitesView = value;
            RaisePropertyChanged(() => SitesView);
        }
}
public ObservableCollection<ISite> SitesCollection { get; set; }
它工作正常,当我单击下拉列表时可以看到这些项目


修复尝试:在我将an项添加到
站点集合
后,我尝试在
列表集合视图
可观察集合
上发出属性更改通知,但没有产生任何影响。有什么想法吗?

我没有时间测试我的答案;我道歉,并将跟进

我认为您的问题是因为
CollectionViewSource.GetDefaultView(…)
返回一个
ICollectionView
,我认为它本质上只是一个包装器,可以对底层数据进行排序

尝试将
SitesView
设置为
DefaultView
SourceCollection

SitesView = (ListCollectionView)CollectionViewSource.GetDefaultView(SitesCollection).SourceCollection

事实上,下面的亚当有正确的答案……不。这应该行得通。如果没有看到添加到ObservaleCollection的项,则可能是绑定到视图模型的错误实例。
<ComboBox Grid.Row="2" ItemsSource="{Binding SitesView, Mode=TwoWay}"/>
<ComboBox Grid.Row="2" ItemsSource="{Binding SitesCollection, Mode=TwoWay}"/>
SitesView = (ListCollectionView)CollectionViewSource.GetDefaultView(SitesCollection).SourceCollection