【问题标题】:How do you select multiple items in ListView from code如何从代码中选择 ListView 中的多个项目
【发布时间】:2012-09-25 20:22:49
【问题描述】:

我正在使用新的 Windows 8 ListView 控件。我有一个被选中的用户列表,这取决于存储在其他地方的另一个用户列表。

也许我的情况有点具体,但我的问题很简单: 如何从代码中选择 ListView 对象中的多个项目?

【问题讨论】:

    标签: c# windows listview windows-8 selection


    【解决方案1】:

    Yout 列表视图具有名为 Items 的属性

     yourList.Items
    

    这是绑定到列表的项目的集合。如果您知道索引(或其他 uniq 值),您可以找到它们。如果您有索引列表,只需从列表中获取每个索引

     yourList.Items.ElementAt(index);
    

    如果您知道您的项目或其他字段的 Id 或名称,您可以创建一个循环,您将在 Items 集合中查找它们

    【讨论】:

    • 鉴于该列表中的每个项目都有其独特之处,我如何将这些元素中的每一个标记为“已选择”?
    • 您是指在列表上单击它们还是在加载列表后执行某些操作后将它们标记为选中?
    • 我的情况是这样的——当我启动一个视图时,会填充一个列表。填充后,我希望在列表中选择在另一个列表中找到的所有项目(在 ItemsSource 中找到的相同对象的子集)。或者更具体一点。我正在显示在系统中注册的所有用户的列表。在此特定视图中,您可以选择其中的一个子集。我想选择上次显示视图时选择的那些。
    【解决方案2】:

    您可以使用 .SelectedItems 属性。这是一个简单的示例,它填充一个列表视图,然后标记索引为 4 或更高的项目:

    for (var i = 0; i <= 10; i++)
            {
                if (mylistview.Items != null) mylistview.Items.Add("Item at index "+i);
            }
    
            if (mylistview.Items != null)
            {
                for (var i = 0; i <= mylistview.Items.Count - 1; i++)
                {
    
                    if (i > 4)
                    {
                        mylistview.SelectedItems.Add(mylistview.Items[i]);
                    }
                }
    
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多