如何在“DataBound Application”模板中创建过滤器

时间:2011-03-11 12:14:58

标签: data-binding windows-phone-7 filter

我尝试制作一个像DVD库这样的小应用程序(没有预装,我不知道编程)。为此,我使用预定义的模板“Windows Phone DataBound Application”,但我希望我可以在MainListBox中过滤字符串类型的数据(例如,LineTwo包含不同的媒体类型“dvd”,“bluray”......)。 我想我必须在MainPage.xaml.cs文件中输入类似的内容:

MainListBox.ItemsSelected = from c in ????? where ????? == "dvd"

我只是尝试了一切,但我失败了,所以如果有人想给我一些确切的代码,那就太好了。请不要给我一个链接,通常我已阅读并试图适应(可能是错误的)但没有成功。

提前谢谢你。 Ghisura。

1 个答案:

答案 0 :(得分:0)

如果您需要随时更新过滤器,那么您应该考虑使用CollectionViewSource。如果您决定采用这条路线,您可能会发现Geoff Hudik的WP7 In-App Searching, Filtering博客文章很有用。

如果您只想过滤一次源数据集,那么LINQ肯定是一个很好的解决方案,尽管您希望将结果分配给ItemsSource属性。 LINQ查询的详细信息将取决于您的数据集,但类似于以下内容:

_listBox.ItemsSource = from c in mediaCollection
                       where c.MediaType == "dvd"
                       select c;

我知道你已经要求在电镀工具上交给你的解决方案但是a)鉴于你给出的信息有限,这是不可行的,并且b)它不会帮助你理解问题以及如何解决问题如果您的需求发生变化或需要将其应用于类似情况,请调整解决方案。 给一个人一条鱼,他吃了一天; 教他他如何吃鱼和他吃生命。 :)