2011-11-20 29 views
1

我有列表框,我綁定了一個對象列表,其類型實際上是我的DataModel類,但我希望能夠知道哪一個。
問題是:
我想能夠搜索listBox的任何項目包含我想要的關鍵字。
我知道我想要搜索的屬性的名稱取決於它(它是DisplayMember屬性)。
有什麼辦法可以做到這一點?如何搜索列表框而不知道它擁有哪種對象?

回答

3

我會在你的datamodel對象上實現一個自描述的ISearchable接口。

然後,您可以遍歷列表框中的每個項目,並通過界面詢問底層對象是否符合搜索條件。

另一種可能性是使用反射從每個記錄中使用DisplayMember屬性獲取值,但我個人更喜歡接口方法,因爲它可以在其他情況下重用。

2

你可以有你的模型類都實現一個接口

public interface IDisplayable { 
    string DisplayValue{ get; } 
} 
相關問題