This is a migrated thread and some comments may be shown as answers.

Updates to children count reverted on collection change

2 Answers 110 Views
TreeListView
This is a migrated thread and some comments may be shown as answers.
Greg
Top achievements
Rank 1
Greg asked on 21 Dec 2010, 08:09 PM
I have a number of children property on each of my items in the TreeGridList, this list is currently an ObservableCollection. 

If I have the children expanded in the grid, and then transition the number of children on the parent to 0 through the grid, the collection changed notification coming from the ObservableCollection causes the grid to try to revert the change that is under way (changing the number of children to 0).  I am not sure how to resolve this (keep the 0 child count).

I have a very simple sample project but am not sure how to attach it.  (I pasted the view item below).

reproduction steps - launch application, change child count on an item to 3, expand item, change child count to 0 (notice that the number of children remains 3).

Thanks for your help..

> WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 5) Line 63 C#
  [External Code]
  Telerik.Windows.Data.dll!Telerik.Windows.Data.ItemPropertyInfoExtensions.SetValue(System.ComponentModel.ItemPropertyInfo itemProperty = {System.ComponentModel.ItemPropertyInfo}, object item = {WpfApplication1.ViewItem}, object value = 5) Line 89 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ReturnOldValuesToRow(Telerik.Windows.Controls.GridViewColumnCollection columns = Count = 3, System.Collections.Generic.Dictionary<string,object> oldValues = Count = 3, object dataItem = {WpfApplication1.ViewItem}) Line 1011 + 0xbc bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelRowEdit(Telerik.Windows.Controls.GridView.GridViewRow gridViewRow = {Telerik.Windows.Controls.TreeListView.TreeListViewRow}) Line 980 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit(Telerik.Windows.Controls.GridViewEditingUnit editingUnit = Row) Line 972 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit() Line 963 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ItemsSourceChanged(bool sourceChanged = false) Line 3084 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 7965 + 0xa bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemCollectionChanged(object sender = {Telerik.Windows.Data.DataItemCollection}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 686 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 639 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 914 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 642 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOverride() Line 790 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshInternal() Line 737 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer() Line 732 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1009 + 0x9 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 952 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 267 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalChildCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 189 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1308 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1292 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  [External Code]
  WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 0) Line 65 + 0x15 bytes C#
WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 5) Line 63 C#
  [External Code]
  Telerik.Windows.Data.dll!Telerik.Windows.Data.ItemPropertyInfoExtensions.SetValue(System.ComponentModel.ItemPropertyInfo itemProperty = {System.ComponentModel.ItemPropertyInfo}, object item = {WpfApplication1.ViewItem}, object value = 5) Line 89 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ReturnOldValuesToRow(Telerik.Windows.Controls.GridViewColumnCollection columns = Count = 3, System.Collections.Generic.Dictionary<string,object> oldValues = Count = 3, object dataItem = {WpfApplication1.ViewItem}) Line 1011 + 0xbc bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelRowEdit(Telerik.Windows.Controls.GridView.GridViewRow gridViewRow = {Telerik.Windows.Controls.TreeListView.TreeListViewRow}) Line 980 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit(Telerik.Windows.Controls.GridViewEditingUnit editingUnit = Row) Line 972 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit() Line 963 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ItemsSourceChanged(bool sourceChanged = false) Line 3084 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 7965 + 0xa bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemCollectionChanged(object sender = {Telerik.Windows.Data.DataItemCollection}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 686 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 639 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 914 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 642 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOverride() Line 790 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshInternal() Line 737 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer() Line 732 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1009 + 0x9 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 952 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 267 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalChildCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 189 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1308 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1292 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  [External Code]
  WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 0) Line 65 + 0x15 bytes C#
> WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 5) Line 63 C#
  [External Code]
  Telerik.Windows.Data.dll!Telerik.Windows.Data.ItemPropertyInfoExtensions.SetValue(System.ComponentModel.ItemPropertyInfo itemProperty = {System.ComponentModel.ItemPropertyInfo}, object item = {WpfApplication1.ViewItem}, object value = 5) Line 89 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ReturnOldValuesToRow(Telerik.Windows.Controls.GridViewColumnCollection columns = Count = 3, System.Collections.Generic.Dictionary<string,object> oldValues = Count = 3, object dataItem = {WpfApplication1.ViewItem}) Line 1011 + 0xbc bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelRowEdit(Telerik.Windows.Controls.GridView.GridViewRow gridViewRow = {Telerik.Windows.Controls.TreeListView.TreeListViewRow}) Line 980 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit(Telerik.Windows.Controls.GridViewEditingUnit editingUnit = Row) Line 972 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit() Line 963 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ItemsSourceChanged(bool sourceChanged = false) Line 3084 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 7965 + 0xa bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemCollectionChanged(object sender = {Telerik.Windows.Data.DataItemCollection}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 686 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 639 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 914 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 642 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOverride() Line 790 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshInternal() Line 737 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer() Line 732 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1009 + 0x9 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 952 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 267 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalChildCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 189 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1308 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1292 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  [External Code]
  WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 0) Line 65 + 0x15 bytes C#
public class ViewItem
    {
        private static int NameID = 0;
        public ViewItem()
        {
            this.Name = "ObjectName" + NameID++;
            this.Children = new ObservableCollection<ViewItem>();
        }

        public ObservableCollection<ViewItem> Children
        {
            get;
            set;
        }

        public string Name { getset; }

        public int NumberOfChildren
        {
            get
            {
                return this.Children.Count;
            }
            set
            {
                if (value == 0)
                {
                    this.Children.Clear();
                }
                else
                {
                    for (int i = this.Children.Count; i < value; i++)
                    {
                        this.Children.Add(new ViewItem());
                    }
                }
            }
        }
    }

> WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 5) Line 63 C#
  [External Code]
  Telerik.Windows.Data.dll!Telerik.Windows.Data.ItemPropertyInfoExtensions.SetValue(System.ComponentModel.ItemPropertyInfo itemProperty = {System.ComponentModel.ItemPropertyInfo}, object item = {WpfApplication1.ViewItem}, object value = 5) Line 89 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ReturnOldValuesToRow(Telerik.Windows.Controls.GridViewColumnCollection columns = Count = 3, System.Collections.Generic.Dictionary<string,object> oldValues = Count = 3, object dataItem = {WpfApplication1.ViewItem}) Line 1011 + 0xbc bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelRowEdit(Telerik.Windows.Controls.GridView.GridViewRow gridViewRow = {Telerik.Windows.Controls.TreeListView.TreeListViewRow}) Line 980 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit(Telerik.Windows.Controls.GridViewEditingUnit editingUnit = Row) Line 972 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit() Line 963 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ItemsSourceChanged(bool sourceChanged = false) Line 3084 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 7965 + 0xa bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemCollectionChanged(object sender = {Telerik.Windows.Data.DataItemCollection}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 686 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 639 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 914 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 642 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOverride() Line 790 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshInternal() Line 737 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer() Line 732 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1009 + 0x9 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 952 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 267 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalChildCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 189 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1308 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1292 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  [External Code]
  WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 0) Line 65 + 0x15 bytes C
> WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 5) Line 63 C#
  [External Code]
  Telerik.Windows.Data.dll!Telerik.Windows.Data.ItemPropertyInfoExtensions.SetValue(System.ComponentModel.ItemPropertyInfo itemProperty = {System.ComponentModel.ItemPropertyInfo}, object item = {WpfApplication1.ViewItem}, object value = 5) Line 89 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ReturnOldValuesToRow(Telerik.Windows.Controls.GridViewColumnCollection columns = Count = 3, System.Collections.Generic.Dictionary<string,object> oldValues = Count = 3, object dataItem = {WpfApplication1.ViewItem}) Line 1011 + 0xbc bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelRowEdit(Telerik.Windows.Controls.GridView.GridViewRow gridViewRow = {Telerik.Windows.Controls.TreeListView.TreeListViewRow}) Line 980 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit(Telerik.Windows.Controls.GridViewEditingUnit editingUnit = Row) Line 972 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit() Line 963 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ItemsSourceChanged(bool sourceChanged = false) Line 3084 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 7965 + 0xa bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemCollectionChanged(object sender = {Telerik.Windows.Data.DataItemCollection}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 686 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 639 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 914 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 642 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOverride() Line 790 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshInternal() Line 737 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer() Line 732 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1009 + 0x9 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 952 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 267 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalChildCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 189 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1308 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1292 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  [External Code]
  WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 0) Line 65 + 0x15 bytes C
WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 5) Line 63 C#
  [External Code]
  Telerik.Windows.Data.dll!Telerik.Windows.Data.ItemPropertyInfoExtensions.SetValue(System.ComponentModel.ItemPropertyInfo itemProperty = {System.ComponentModel.ItemPropertyInfo}, object item = {WpfApplication1.ViewItem}, object value = 5) Line 89 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ReturnOldValuesToRow(Telerik.Windows.Controls.GridViewColumnCollection columns = Count = 3, System.Collections.Generic.Dictionary<string,object> oldValues = Count = 3, object dataItem = {WpfApplication1.ViewItem}) Line 1011 + 0xbc bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelRowEdit(Telerik.Windows.Controls.GridView.GridViewRow gridViewRow = {Telerik.Windows.Controls.TreeListView.TreeListViewRow}) Line 980 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit(Telerik.Windows.Controls.GridViewEditingUnit editingUnit = Row) Line 972 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.CancelEdit() Line 963 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.ItemsSourceChanged(bool sourceChanged = false) Line 3084 C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 7965 + 0xa bytes C#
  Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemCollectionChanged(object sender = {Telerik.Windows.Data.DataItemCollection}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 686 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 639 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs e = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 914 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = {Telerik.Windows.Data.HierarchicalCollectionView}, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 642 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOverride() Line 790 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshInternal() Line 737 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer() Line 732 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1009 + 0x9 bytes C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 952 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 267 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.HierarchicalChildCollectionView.ProcessCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 189 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1308 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 1292 C#
  Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender = Count = 0, System.Collections.Specialized.NotifyCollectionChangedEventArgs args = {System.Collections.Specialized.NotifyCollectionChangedEventArgs}) Line 32 + 0x42 bytes C#
  [External Code]
  WpfApplication1.exe!WpfApplication1.ViewItem.NumberOfChildren.set(int value = 0) Line 65 + 0x15 bytes C

2 Answers, 1 is accepted

Sort by
0
Vlad
Telerik team
answered on 22 Dec 2010, 08:04 AM
Hello Greg,

 You can open support ticket and send us the project. 

Best wishes,
Vlad
the Telerik team
Browse the videos here>> to help you get started with RadControls for WPF
0
Greg
Top achievements
Rank 1
answered on 22 Dec 2010, 05:48 PM
Thanks,

My ticket number is 378702 and includes a project and call stack.

Greg
Tags
TreeListView
Asked by
Greg
Top achievements
Rank 1
Answers by
Vlad
Telerik team
Greg
Top achievements
Rank 1
Share this question
or