У меня есть ObservableCollection, и я хочу знать, когда элемент управления добавлен или удален из него. Я искал в Интернете и пробовал все эти вопросы и другие сайты, но это мне совсем не помогло!Получать уведомления, когда 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 + = новый NotifyCollectionChangedEventHandler (PagesChanged); ' – crowchirp