ListBox在特定条件下删除项目

时间:2013-04-27 22:01:56

标签: c# listbox selectedindex subitem

如何删除列表框中的多个项目?在某些条件下..

如果我将项目添加到我的列表框中,如下所示:

posItem.Items.Add(new ListBoxItem() // normal item
{
    Content = "- " + item,
    FontSize = 14,
    Foreground = (Brush)bc.ConvertFrom("#FFE8E8E8")
});

子项:

posItem.Items.Add(new ListBoxItem() // subitems
{
    Content = subitem,
    FontSize = 14,
    Margin = new Thickness(25, 0, 0, 0),
    Foreground = (Brush)bc.ConvertFrom("#FFE8E8E8")
});

然后我可以这样删除它们:(逐个,根据SelectedIndex

delete one by one

如果我像这样添加我的项目:

posItem.Items.Add(new TreeViewItem() //normal item
{
    Header = item,
    FontSize = 14,
    Foreground = (Brush)bc.ConvertFrom("#FFE8E8E8")
});
treeIndex++;

子项:

((TreeViewItem)posItem.Items[treeIndex]).Items.Add(new ListBoxItem() // subitem
{
    Content = subitem,
    FontSize = 14,
    Foreground = (Brush)bc.ConvertFrom("#FFE8E8E8")
});

然后我可以在一个选择中删除它们:(也是SelectedIndex

delete grouped

我现在唯一的选择是一个或者另一个..是否有某种程度我可以将两者结合起来? 例如:如果用户双击主要项目,则选择所有子项目。

如果用户只想删除某个特定子项,他/她只需点击一次目标子项即可删除。

我想我可以将ListBox设置为multiple selectable,但如果有更好的方式,我很高兴听到。

0 个答案:

没有答案