C# 如何使用linq windows phone ListPicker筛选列表
我有一个列表C# 如何使用linq windows phone ListPicker筛选列表,c#,linq,xaml,windows-phone-8,C#,Linq,Xaml,Windows Phone 8,我有一个列表=App.ViewModel.Items,其中Parameter有一个字符串类别。列表中有30个参数,有4个不同的类别(头部、颈部、耳朵和喉咙)。该列表填充主页面上的MainLongListSelector 我有一个_categorySelector(ListPicker),它使用以下命令填充: _categorySelector.ItemsSource = App.ViewModel.Items.Select(m => m.Category).Distinct().ToLi
_categorySelector.ItemsSource = App.ViewModel.Items.Select(m => m.Category).Distinct().ToList();
在SelectionChanged事件处理程序上,我想使用ListPicker的选定值筛选到MainLongListSelector
到目前为止,我有这个,但不起作用:
private void _categorySelector_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var query = (from jj in App.ViewModel.Items
where (_categorySelector.SelectedItem as Parameter).Category == jj.Category
select jj).ToList(); //doesn't work
var qq = App.ViewModel.Items.Select(mm => mm.Category).Distinct(); //doesn't connect selected item content to query
MainLongListSelector.ItemsSource = query;
}
首先创建正确类型的集合,然后使用Where子句如何:
var cat = (_categorySelector.SelectedItem as Parameter).Category;
var query = App.ViewModel.Items.OfType<Parameter>().Where(jj => jj.Category == cat).ToList();
var cat=(_categorySelector.SelectedItem作为参数);
var query=App.ViewModel.Items.OfType().Where(jj=>jj.Category==cat.ToList();