0

我需要自己从 ObservableCollection 中删除一个项目。有可能做这样的事情吗?

public class Item
{
    public Item()
    {
         // Constructor
    }

    public string ID
    {
         get;
         set;
    }

    public void Remove()
    {
         // I need to write some code here if it is possible
    }
}

//---------- this part is in a ClickEvent i.e.

ObservableCollection<Item> Items = new ObservableCollection<Item>();

Item _Item = new Item() { ID = 1 }

Items.Add(_Item);

_Item.Remove()

注意:我不想使用 Items.Remove(_Item) 方法。

谢谢...

4

1 回答 1

0

您所需要的只是让每个Item都有对其所有者ObserableCollection的引用

然后你可以做

void Remove()
{
   Owner.Remove(this);
}

void AddToCollection( ObserableCollection<Item> list )
{
  Owner = list;
  Owner.Add(this);
}

您还必须处理将项目添加到多个集合的情况。

于 2012-07-22T14:46:40.033 回答