0

我有 List< Parameter > = App.ViewModel.Items 其中 Parameter 有一个字符串类别。在列表中,有 4 个不同类别(头、颈、耳和喉)的 30 个参数。该列表填充主页上的 MainLongListSelector。

我有一个 _categorySelector (ListPicker) 填充使用:

 _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;
    }
4

1 回答 1

0

如何先创建正确类型的集合,然后使用 Where 子句:

var cat = (_categorySelector.SelectedItem as Parameter).Category;
var query = App.ViewModel.Items.OfType<Parameter>().Where(jj => jj.Category == cat).ToList();
于 2013-09-20T01:44:13.810 回答