private void unsubscribeFromItem(TreeItem item, ListChangedHandler handler) { item.items.ListChanged -= handler; item.PropertyChanged -= itemOnPropertyChanged; foreach (TreeItem child in item.items) { unsubscribeFromItem(child, handler); } }
private void subscribeToItem(TreeItem item, ListChangedHandler handler) { item.items.ListChanged += handler; item.PropertyChanged += itemOnPropertyChanged; foreach (TreeItem child in item.items) { subscribeToItem(child, handler); } }
public virtual void OnListChanged() { ListChangedHandler handler = ListChanged; if (handler != null) { handler(); } }
private static void SetChangedHandler(ListBox obj, ListChangedHandler value) { obj.SetValue(ChangedHandlerProperty, value); }