Comment append un élément générique à une zone de liste déroulante liée à une collection dans WPF

J’ai une ComboBox dans une application WPF qui est liée à une observableCollection d’objects Department dans une classe C # ViewModel. Je souhaite utiliser la liste déroulante pour filtrer une autre collection par service (et effectivement, cela fonctionne pour le moment) Le problème est que je souhaite append une option supplémentaire “Tout” en haut de la liste. Y a-t-il une manière correcte de faire ceci. Faire un faux département se sent mal à bien des égards.

La ComboBox

 

Vous pouvez utiliser CompositeCollection comme élément de source pour la liste déroulante pour inclure l’option “Tous”. Vous devez définir la propriété Collection du CollectionContainer sur votre “object ObservableCollection of Department”.

    All     

Vous ne savez pas si cela conviendra à votre situation de filtrage …

Supposons que vous ayez une ComboBox nommée MyCombo , une entité nommée MyEntity associée à un DomaineService nommé MyDomainService .

N’oubliez pas

 using System.ServiceModel.DomainServices.Client; 

et bien sûr, l’utilisation fonctionne bien avec votre site Web de votre entité et DomainService

Vous appelez un Proc nommé:

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

Ensuite, dans la fonction 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(); } }