2011-09-23 56 views
0

我目前正試圖弄清楚在Silverlight 4中的綁定解決方案。Silverlight綁定與過濾

我有一個可觀察的項目集合。我想將它綁定到一個ComboBox,但只顯示符合特定條件的項目。例如group ==「Test Group」。我嘗試了很多方法來完成這項工作,但沒有取得任何成功。

+0

您認爲哪種方式最有可能奏效?包括你試過的代碼? – AnthonyWJones

回答

0

在我已經在VM例如,一個公開的屬性使用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); 
     } 
    }