如何从xam / c中的多个选定列表视图中获取选定的值#

时间:2013-12-19 09:38:50

标签: c# xaml windows-8 microsoft-metro

我在xaml中有多个选择的listview,我想从这个listview中获取选定的值。我也在这里检查了不同的解决方案,但对我来说无法实现。

我是那样尝试的

  var selectedItems = lstVRecycle.SelectedItems;
  foreach (ListViewItem selectedItem in selectedItems)
  {
        selectedItems.values
  }

提前致谢

2 个答案:

答案 0 :(得分:0)

修改

  

我正在使用返回自定义类(Id,Name)列表的webservice   我确实将listview itemsource初始化为列表,并且多次   选择启用。所以现在我想得到所有的id(在数组中)   列表视图的选定项目。

sourceList是您的网络服务返回列表

     lstVRecycle.ItemsSource = sourceList //Your webservice which return list

     List<int> setOfItems = new List<int>();
        var selectedItems = lstVRecycle.SelectedItems;
        foreach (var item in selectedItems)
        {
           var value = lstVRecycle.Items.IndexOf(item);
           setOfItems.Add(value);
        }

setofItems包含所选项目的索引

            List<string> selectedItemIds = new List<string>();
            foreach (var ids in setOfItems) // setOfItems contains index of your selected items
            {
                var value= sourceList[ids];
                String idValue = value.id; //id is your id Value
                selectedItemIds.Add(idValue);
            }

检查selectedItemIds并设置一个断点,你拥有所有idValues

完美无缺。只需要处理你的数据类型;  &安培;我们在这里帮助不要猜测。没有正确的答复&amp;关于你的问题的正确信息你永远不会得到你想要的答案。祝你好运

答案 1 :(得分:0)

假设您将 ListView 绑定到 Test 类型的对象集合(其中包含 Id Name > properties)您可以通过以下方式检索所选项目的ID数组:

var selectedItems = lstVRecycle.SelectedItems.OfType<Test>().Select(o => o.Id).ToArray();

我的XAML如下所示:

<ListView x:Name="lstVRecycle" SelectionMode="Multiple" ItemsSource="{Binding Data}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}"></TextBlock>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

在此示例中, Data Test 类型的对象的集合。