2012-07-22 59 views
0

我已經擁有很多項的列表框。我試圖創建一個搜索欄,以便用戶可以輸入他正在尋找我的列表框只顯示內容相關的用戶在文本框中輸入了這些項目。我是新來的WP7在應用搜索在WP7應用程序

回答

0

首先,你應該使用MVVM適當Layout更新。然後使用附加屬性並將其綁定到TextBox。當財產被更新 - 上升的另一個屬性改變事件來更新ListBox(摘錄FirePropertyChanged("FooList");)。

public class Foo 
{ 
    public string Name { get; set; } 
} 

ViewModel

public string SearchCriteria 
{ 
    get 
    { 
     return searchCriteria; 
    } 
    set 
    { 
     serchCriteria = value; 
     RaisePropertyChanged("SearchCriteria"); 
     RaisePropertyChanged("FooList"); 
    } 
} 
private List<Foo> fooList; 

public List<Foo> FooList 
{ 
    get 
    { 
     return fooList.Where(x => x.Name.Contains(searchCriteria)); 
    } 
} 

Xaml

<TextBox x:Name="searchText" Text={Binding SearchCriteria, Mode=TwoWay} /> 
<ListBox x:Name="elementsList" ItemsSource={Binding FooList, Mode=TwoWay}> 
    <ListBox.ItemTemplate> 
    ... 
    </ListBox.ItemTemplate> 
</ListBox> 


更好地理解 MVVM模式有些幫助鏈接
+0

謝謝您的回覆。但遺憾的是,我不明白對texbox的綁定,甚至改變了財產。你能否請求幫助 – user1538895 2012-07-22 14:33:06

+0

@ user1538895我已經更新了答案。希望,這會有所幫助。 – 2012-07-22 21:42:49

+0

非常感謝。這篇文章幫了我。現在嘗試搜索功能! – user1538895 2012-07-23 06:09:50