C# 使用e.added的Listbox multiselect

C# 使用e.added的Listbox multiselect,c#,wpf,listbox,C#,Wpf,Listbox,我需要一些帮助在listBbox控件上实现multi-select。目前,我可以使用下面的代码显示一个选择的信息,但是我不理解可以在我的itemsSource中使用e.added启用multiselect。非常感谢您的帮助。谢谢-本 private void contactsList_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { //TODO:

我需要一些帮助在listBbox控件上实现multi-select。目前,我可以使用下面的代码显示一个选择的信息,但是我不理解可以在我的itemsSource中使用e.added启用multiselect。非常感谢您的帮助。谢谢-本

private void contactsList_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
    {
        //TODO: Add event handler implementation here.
        ContactList selectedContact = contactsList.SelectedItem as ContactList;


        tagsList.ItemsSource = new List<ContactList> { selectedContact };//??


    }
private void contacts列表\u selection已更改(对象发件人,System.Windows.Controls.selectionchangedventargs e)
{
//TODO:在此处添加事件处理程序实现。
ContactList selectedContact=contactsList.SelectedItem作为联系人列表;
tagsList.ItemsSource=新列表{selectedContact};//??
}

列表框控件内置了多选功能


您是否已设置ListBox.SelectionMode

通过将列表框实例上的SelectionMode属性设置为Extended或Multiple(Extended意味着需要按住SHIFT键,而Multiple则不需要)

要访问所选项目,您需要获取lstBox的值。选择editems属性

在您给出的示例中,您可以执行以下类似操作:

tagsList.ItemsSource = contactList.SelectedItems;

希望这对您有所帮助:)

您的问题很难理解且含糊不清,我假设您想将tagsList.ItemsSource设置为所有选定的联系人列表

    private void contactsList_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
    {
        List<ContactList> list = new List<ContactList>();
        foreach (object contactList in contactsList.SelectedItems)
        {
            list.Add(contactList as ContactList);
        }

        tagsList.ItemsSource = list;
    }
private void contacts列表\u selection已更改(对象发件人,System.Windows.Controls.selectionchangedventargs e)
{
列表=新列表();
foreach(联系人列表中的对象联系人列表。选择编辑项)
{
列表。添加(联系人列表作为联系人列表);
}
tagsList.ItemsSource=列表;
}

编辑:如果您实际上没有设置
列表框。选择模式
,您当然应该先设置。

试试这个。使用
e.AddedItems

private void contactsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    tagsList.Items.Add(((ListBoxItem)e.AddedItems[0]).Content.ToString());
}

谢谢,我明白你的意思,但是如果我简单地将选择模式更改为多个,它仍然只显示与第一个选择相关的信息,而不是所有选定项目的信息。有意义吗?使用SelectedItems属性而不是SelectEdItem谢谢,也许我不是很清楚,如果我只是将选择模式更改为多个,它仍然只显示与第一个选择相关的信息,而不是所有选定项目的信息。有意义吗?我从你的代码中逻辑地推断了很多,你确实没有很清楚地表达自己。很抱歉,不够清晰。所以我有两个列表框contactsList和tagsList。当我点击Contacts列表中的某个项目时,tagsList上会显示一条信息。所以我的问题是,我希望能够在contactsList中选择多个项目,然后在tagsList中显示所有相应的信息。再次感谢是的,谢谢你,这似乎管用。为这个模糊的问题道歉(酷:)只要它管用。如果答案有用,请给它打分。谢谢
private void contactsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    tagsList.Items.Add(((ListBoxItem)e.AddedItems[0]).Content.ToString());
}