Подвързване Silverlight с филтриране

В момента се опитвам да намеря обвързващо решение в Silverlight 4.

Имам видима колекция от елементи. Искам да свържа това към ComboBox, но да показвам само елементите, които отговарят на определено условие. Например група == "Тестова група." Опитах доста начини да накарам това да работи, но не постигнах никакъв успех.


person thecaptain0220    schedule 23.09.2011    source източник
comment
Кой начин смятате, че е най-вероятно да работи? Включете кода, който опитахте?   -  person AnthonyWJones    schedule 24.09.2011


Отговори (1)


В миналото съм използвал LINQ в изложено свойство на VM, например:

    /// <summary>
    /// Get filtered results(by location)
    /// </summary>
    public ObservableCollection<SearchResultData> FilteredResults        {
        get
        {
            return new ObservableCollection<SearchResultData>(Results.Where(p => p.LocationId == CurrentLocation.Id));
        }
    }

Използвайки този подход, ще трябва да предоставите известие, когато основната колекция в LINQ се промени, например:

    public ObservableCollection<SearchResultData> Results
    {
        get { return _results; }
        set
        {
            _results = value;
            NotifyOfPropertyChange(() => Results);
            NotifyOfPropertyChange(() => FilteredResults);
        }
    } 
person Myles J    schedule 28.09.2011