Связывание Silverlight с фильтрацией

В настоящее время я пытаюсь найти решение для привязки в Silverlight 4.

У меня есть заметная коллекция предметов. Я хочу привязать это к ComboBox, но отображать только те элементы, которые соответствуют определенному условию. Например group == "Test Group". Я пробовал несколько способов заставить эту работу работать, но безуспешно.


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


Ответы (1)


Раньше я использовал LINQ в открытом свойстве виртуальной машины, например:

    /// <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