如何创建具有自我移除方法的ObservableCollection项

时间:2012-07-22 14:45:14

标签: observablecollection

我需要自己从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)方法。

谢谢...

1 个答案:

答案 0 :(得分:0)

您需要的只是每个引用其所有者 ObserableCollection

然后你可以做

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

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

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