0

コンボボックスをObservableCollectioのアイテムに入力するにはどうすればよいですか?

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

連絡先内のアイテムは「Grname」です。それらのアイテムはそれにバインドする必要があります。重複(グループ化)を除外したいので、コードで優先します。

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

}

アップデート:

見つけた !

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

cmbGroup.ItemsSource = contactsView.Groups;

しかし、コンボボックスの選択されたアイテムでデータグリッドをフィルタリングするにはどうすればよいですか?

私が持っている:

    void Filter(object sender, FilterEventArgs e)
    {

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

そして、フィルターはXAMLのCollectionViewSourceにバインドされています

4

1 に答える 1

0

フィルタリング、グループ化、並べ替えなどには、 CollectionViewSourceを使用できます。それは次のような意味です

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

次に、コンボボックスをcontactsViewに対してバインドします。

于 2013-01-03T11:57:24.180 に答える