在wp7 app中的App Search中

时间:2012-07-22 08:33:29

标签: c# silverlight windows-phone-7

我有一个包含很多项目的列表框。我正在尝试创建一个搜索栏,以便用户可以键入他要查找的内容,而我的列表框仅显示与用户在文本框中键入的内容相关的项目。我是wp7的新手

1 个答案:

答案 0 :(得分: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模式: