【发布时间】:2017-06-14 14:09:50
【问题描述】:
我有一个 ObservableCollection,我想知道何时添加或删除控件。我在网上搜索并尝试了所有这些问题和其他网站,但这些对我一点帮助都没有!
Implementing CollectionChanged
Fire an event when Collection Changed (add or remove)
这是我当前的代码:
public partial class PageView : UserControl
{
public class PageViewCollection : ObservableCollection<PageViewPage>
{
public PageViewPage GetByName()
{
PageViewPage pgp = new PageViewPage();
foreach (PageViewPage page in this)
{
if (page.Name == ID)
{
pgp = page;
}
}
return pgp;
}
}
private PageViewCollection pages { get; set; }
[Bindable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Browsable(true)]
[Category("Behavior")]
public PageViewCollection Pages
{
get { return pages; }
set
{
if (pages != value)
{
pages = value; this.Invalidate();
if (PagesChanged != null)
{
PagesChanged(this, EventArgs.Empty);
}
}
}
}
[Browsable(true)]
public event EventHandler PagesChanged;
}
如果我添加一个控件,它仍然不会通知集合已更改。任何帮助表示赞赏。
【问题讨论】:
-
你试过这个吗:在
PageViewCollection类中添加CollectionChanged += new NotifyCollectionChangedEventHandler(PagesChanged);
标签: c# collections controls