2013-01-03 165 views
0

如何填充我的组合框到我的ObservableCollectio项目?wpf ObservableCollection填充组合框

public ObservableCollection<Contacts> contacts = new ObservableCollection<Contacts>(); 

联系人中的项目是“Grname”。这些物品需要绑定到它。首选代码,因为我想过滤出重复(分组)。

class Contacts 
{ 
    public string Contact_id { get; set; } 
    public string Grname { get; set; } 

} 

UPDATE:

我找到了!

ICollectionView contactsView = CollectionViewSource.GetDefaultView(dataGrid1.ItemsSource); 

cmbGroup.ItemsSource = contactsView.Groups; 

但如何过滤我的datagrid与选定的组合框的项目?

我有:

void Filter(object sender, FilterEventArgs e) 
    { 

     if (cmbGroup.ItemsSource == contactsView) 
     { 
      e.Accepted = true; 
     } 
     else 
     { 
    e.Accepted = false; 
    } 
} 

和过滤器被绑定在CollectionViewSource在我的XAML

回答

0

用于过滤,分组,排序等,你可以使用一个CollectionViewSource。这意味着像

ICollectionView contactsView = CollectionViewSource.GetDefaultView(contacts); 
// For filtering: 
contactsView.Filter += sender => { 
    // Filter logic here 
    return true; 
} 

然后你绑定你的combobox与contactsView。

+0

不起作用:/ – keno

+0

@keno如果你可以更具体地说明你已经尝试了什么或什么不起作用,也许我可以详细阐述我的例子。 – Desty

+0

感谢您的参观!无论如何,我找到了解决方案;)但是如何过滤我的网格? (见主题) – keno