0

如何从 Windows Phone 7 应用程序的列表框中选择多个项目?例如

listboxName.SelectedIndex = 0;
listboxName.SelectedIndex = 1;
listboxName.SelectedIndex = 2;

上面的代码选择了 2 而我需要选择所有这三个。

我需要预先选择的值在 {true,true,true,false,false} 之类的数组中提供给我

所以我尝试了如下所示的使用 IsSelected ......不起作用。

     int i = 0;
     foreach (ListBoxItem currentItem in listboxName.SelectedItems)
            {
                if (tagindexeselected[i])
                {
                    currentItem.IsSelected = true;
                }
                i++;
            }

在列表框中选择多个项目的正确方法是什么?

4

2 回答 2

1

很难说有一个单一的、最好的方法——这取决于您如何填充列表框等。首先,确保您的列表框的选择模式设置为多个或扩展。

一种选择是使用 ListBox 的 SelectedItems 集合:

        listBox1.SelectedItems.Add(listBox1.Items[0]);
        listBox1.SelectedItems.Add(listBox1.Items[1]);
        listBox1.SelectedItems.Add(listBox1.Items[2]);

另请注意,在上面的示例中,您正在迭代 SelectedItems 集合 - 而不是 Items 集合。如果未选择任何内容,则为空集合。此外,如果您的列表框 ItemsSource 不是一系列 ListBox 项(您可以将 itemsSource 设置为几乎任何枚举),当您运行 foreach 语句时,您将收到 InvalidCastException。

于 2010-08-23T12:56:23.430 回答
0

foreach(lstServer.SelectedItems 中的 DataRowView 项){

                string WebServerIP = item[lstServer.DisplayMember].ToString();
                string WebServerUrl = item[lstServer.ValueMember].ToString();
                _WebObjIgent.Url = WebServerUrl;

            }

注意:lstServer 是窗口应用程序的Listbox。通过使用 Displaymember 和 valuemember 属性,您可以访问列表框的值和文本。

于 2013-03-14T08:19:45.877 回答