如何将通用项添加到绑定到WPF中的集合的ComboBox

我在WPF应用程序中有一个ComboBox,它绑定到C#ViewModel类中的Department对象的ObservableCollection。 我想使用combobox按部门过滤另一个集合(现在它确实适用于此)问题是我想在列表顶部添加一个额外的选项“全部”。 有没有正确的方法来做到这一点。 制作假部门在很多方面都是错误的。

ComboBox

 

您可以使用CompositeCollection作为ComboBox的ItemsSource以包含“All”选项。 您需要将CollectionContainer的Collection属性设置为“Department对象的ObservableCollection”。

    All     

不确定这是否适合您的过滤情况但是……

假设您有一个名为MyCombo的ComboBox,一个名为MyEntity的实体与名为MyDomainService的DomaineService相关联。

不要忘记

 using System.ServiceModel.DomainServices.Client; 

当然,与您的实体和DomainService的Web站点一起使用也很好

你打电话给一个名为:

 void LoadEntities() { MyDomainService_Context = new MyDomainService(); EntityQuery mQuery = null; mQuery = from q in _Context.GetMyDomainServiceQuery() select q; LoadOperation loadOpLoadEntities = _Context.Load(mQuery, LoadOpLoadEntitiesCallBack, null); } 

然后在CallBack函数中:

 void LoadOpLoadEntitiesCallBack(LoadOperation loadOperation) { if (loadOperation.Entities.Count() > 0) { List mList = new List(); MyEntity mE = new MyEntity(); mE.Column1 = -1; mE.Column2 = "Default value"; mList.Add(mE); for (int i = 0; i < loadOperation.Entities.Count(); i++) { mList.Add(loadOperation.Entities.ToList()[i]); } this.MyCombo.ItemsSource = mList.ToList(); } }